diff --git a/redisson/src/main/java/org/redisson/api/ClusterNode.java b/redisson/src/main/java/org/redisson/api/ClusterNode.java index 4c94adfcd..f53719772 100644 --- a/redisson/src/main/java/org/redisson/api/ClusterNode.java +++ b/redisson/src/main/java/org/redisson/api/ClusterNode.java @@ -25,10 +25,6 @@ import java.util.Map; */ public interface ClusterNode extends Node { - // Use {@link #clusterInfo()} - @Deprecated - Map info(); - /** * Execute CLUSTER INFO operation. * diff --git a/redisson/src/main/java/org/redisson/connection/RedisClientEntry.java b/redisson/src/main/java/org/redisson/connection/RedisClientEntry.java index c50b154a0..a01ec719b 100644 --- a/redisson/src/main/java/org/redisson/connection/RedisClientEntry.java +++ b/redisson/src/main/java/org/redisson/connection/RedisClientEntry.java @@ -27,6 +27,11 @@ import org.redisson.client.codec.StringCodec; import org.redisson.client.protocol.RedisCommands; import org.redisson.client.protocol.Time; import org.redisson.command.CommandSyncService; +import org.redisson.misc.RPromise; +import org.redisson.misc.RedissonPromise; + +import io.netty.util.concurrent.Future; +import io.netty.util.concurrent.FutureListener; /** * @@ -61,7 +66,20 @@ public class RedisClientEntry implements ClusterNode { } public RFuture pingAsync() { - return commandExecutor.readAsync(client, null, RedisCommands.PING_BOOL); + RPromise result = new RedissonPromise(); + RFuture f = commandExecutor.readAsync(client, null, RedisCommands.PING_BOOL); + f.addListener(new FutureListener() { + @Override + public void operationComplete(Future future) throws Exception { + if (!future.isSuccess()) { + result.trySuccess(false); + return; + } + + result.trySuccess(future.getNow()); + } + }); + return result; } @Override @@ -149,9 +167,4 @@ public class RedisClientEntry implements ClusterNode { throw new IllegalStateException(); } - @Override - public Map info() { - return clusterInfo(); - } - }