diff --git a/redisson/src/main/java/org/redisson/pubsub/PublishSubscribe.java b/redisson/src/main/java/org/redisson/pubsub/PublishSubscribe.java index 35bed9a3b..93e32afe9 100644 --- a/redisson/src/main/java/org/redisson/pubsub/PublishSubscribe.java +++ b/redisson/src/main/java/org/redisson/pubsub/PublishSubscribe.java @@ -25,8 +25,8 @@ import org.redisson.client.RedisPubSubListener; import org.redisson.client.codec.LongCodec; import org.redisson.client.protocol.pubsub.PubSubType; import org.redisson.connection.ConnectionManager; -import org.redisson.misc.PromiseDelegator; import org.redisson.misc.RPromise; +import org.redisson.misc.RedissonPromise; import org.redisson.misc.TransferListener; import io.netty.util.internal.PlatformDependent; @@ -67,7 +67,7 @@ abstract class PublishSubscribe> { public RFuture subscribe(final String entryName, final String channelName, final ConnectionManager connectionManager) { final AtomicReference listenerHolder = new AtomicReference(); final AsyncSemaphore semaphore = connectionManager.getSemaphore(channelName); - final RPromise newPromise = new PromiseDelegator(connectionManager.newPromise()) { + final RPromise newPromise = new RedissonPromise() { @Override public boolean cancel(boolean mayInterruptIfRunning) { return semaphore.remove(listenerHolder.get());