From 398e3ba1b3f5a596cebab67e6ad5c07a19e1c16d Mon Sep 17 00:00:00 2001 From: Nikita Date: Fri, 14 Sep 2018 18:06:12 +0300 Subject: [PATCH] Fixed - PingConnectionInterval settings affects re-connection process with password enabled setting #1610 --- .../client/handler/PingConnectionHandler.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/redisson/src/main/java/org/redisson/client/handler/PingConnectionHandler.java b/redisson/src/main/java/org/redisson/client/handler/PingConnectionHandler.java index 64674248d..3a290a206 100644 --- a/redisson/src/main/java/org/redisson/client/handler/PingConnectionHandler.java +++ b/redisson/src/main/java/org/redisson/client/handler/PingConnectionHandler.java @@ -28,6 +28,8 @@ import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInboundHandlerAdapter; import io.netty.util.Timeout; import io.netty.util.TimerTask; +import io.netty.util.concurrent.Future; +import io.netty.util.concurrent.FutureListener; /** * @@ -45,7 +47,15 @@ public class PingConnectionHandler extends ChannelInboundHandlerAdapter { @Override public void channelActive(ChannelHandlerContext ctx) throws Exception { - sendPing(ctx); + RedisConnection connection = RedisConnection.getFrom(ctx.channel()); + connection.getConnectionPromise().addListener(new FutureListener() { + @Override + public void operationComplete(Future future) throws Exception { + if (future.isSuccess()) { + sendPing(ctx); + } + } + }); ctx.fireChannelActive(); }