AWS Elastic Cache Redis java Spring redisson ClosedChannelException

问题描述 投票:0回答:2

我有一个 AWS Redis 集群,其中已启用集群模式,并且已启用静态/传输加密,并且首选传输加密模式

我正在使用 Java spring 和

redisson
版本 3.12.0 .

下面是我使用

redisson
的连接:

redissonConfig.useClusterServers()
.setKeepAlive(true)
.setConnectTimeout(10000)
.setRetryAttempts(2)
.setDnsMonitoringInterval(10000)
.addNodeAddress("Redis configuration endpoint");
client = Redisson.create(redissonConfig);

我使用这个redis端点:

rediss://ConfigurationEndpoint

当尝试使用 AWS EC2Jposs 从应用程序连接到集群时,我收到此异常

java.nio.channels.ClosedChannelException
,我还看到以下异常

[2023-04-15 14:46:22,296] [redisson-netty-2-3] [WARN] ChannelInitializer- Failed to initialize a channel. Closing: [id: 0x77267167]
io.netty.channel.ChannelPipelineException: io.netty.handler.ssl.SslHandler.handlerAdded() has thrown an exception; removed.
    at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:624) ~[netty-transport-4.1.46.Final.jar:4.1.46.Final]
    at io.netty.channel.DefaultChannelPipeline.addLast(DefaultChannelPipeline.java:223) ~[netty-transport-4.1.46.Final.jar:4.1.46.Final]
    at io.netty.channel.DefaultChannelPipeline.addLast(DefaultChannelPipeline.java:381) ~[netty-transport-4.1.46.Final.jar:4.1.46.Final]
    at io.netty.channel.DefaultChannelPipeline.addLast(DefaultChannelPipeline.java:370) ~[netty-transport-4.1.46.Final.jar:4.1.46.Final]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_362]
Caused by: java.lang.NoSuchFieldError: TCP_FASTOPEN_CONNECT
    at io.netty.handler.ssl.SslHandler.handlerAdded(SslHandler.java:1979) ~[netty-handler-4.1.72.Final.jar:4.1.72  


[redisson-netty-2-3] [WARN] ChannelInitializer- Failed to initialize a channel. Closing: [id: 0xe1c3fece]
io.netty.channel.ChannelPipelineException: io.netty.handler.ssl.SslHandler.handlerAdded() has thrown an exception; removed.

我花了超过 15 个小时试图解决这个问题,但没有成功,我也在互联网上搜索了此类错误,但没有结果,如果你有任何想法,感谢你的支持。

谢谢

java spring redis amazon-elasticache redisson
2个回答
0
投票

引起:java.lang.NoSuchFieldError:TCP_FASTOPEN_CONNECT

它告诉你在类路径中可能有不同的 netty 版本


0
投票

我会回答我的问题,我能够通过升级io.netty解决这个问题。版本为4.1.72.Final,如下

<dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-all</artifactId>
        <version>4.1.72.Final</version>
</dependency>

主要问题是 io.netty 版本冲突,我的应用程序中使用了多个版本。

© www.soinside.com 2019 - 2024. All rights reserved.