AWS Elastic Cache Reids java Spring Redisson ClosedChannelException

sczxawaw  于 2023-04-19  发布在  Java
关注(0)|答案(2)|浏览(172)

我有一个AWSRedis集群,集群模式已启用静态/传输加密已启用传输加密模式首选
我使用的是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
当尝试使用AWSEC2Jposs从应用程序连接到群集时,我收到此异常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个小时试图解决这个问题没有运气,我也在互联网上搜索这样的错误没有结果,感谢您的支持,如果你有任何想法。
谢谢

ukxgm1gy

ukxgm1gy1#

原因:java.lang.NoSuchFieldError:TCP_FASTOPEN_CONNECT
它告诉您在classpath中可能有不同的netty版本

7cwmlq89

7cwmlq892#

我会回答我的问题,我可以通过将io.netty.版本升级到4.1.72.Final来解决这个问题,如下所示

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

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

相关问题