diff --git a/redisson/src/main/java/org/redisson/RedissonLockEntry.java b/redisson/src/main/java/org/redisson/RedissonLockEntry.java index 7a9d03b7b..d0f7fb096 100644 --- a/redisson/src/main/java/org/redisson/RedissonLockEntry.java +++ b/redisson/src/main/java/org/redisson/RedissonLockEntry.java @@ -70,4 +70,10 @@ public class RedissonLockEntry implements PubSubEntry { return latch; } + @Override + public String toString() { + return "RedissonLockEntry{" + + "counter=" + counter + + '}'; + } } diff --git a/redisson/src/main/java/org/redisson/pubsub/PublishSubscribe.java b/redisson/src/main/java/org/redisson/pubsub/PublishSubscribe.java index 1d67270e1..b3b4cc668 100644 --- a/redisson/src/main/java/org/redisson/pubsub/PublishSubscribe.java +++ b/redisson/src/main/java/org/redisson/pubsub/PublishSubscribe.java @@ -76,6 +76,7 @@ abstract class PublishSubscribe> { } newPromise.complete(r); }); + return; } E value = createEntry(newPromise); diff --git a/redisson/src/test/java/org/redisson/RedissonLockTest.java b/redisson/src/test/java/org/redisson/RedissonLockTest.java index e88f4170d..b9560893e 100644 --- a/redisson/src/test/java/org/redisson/RedissonLockTest.java +++ b/redisson/src/test/java/org/redisson/RedissonLockTest.java @@ -4,11 +4,16 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; +import org.redisson.client.RedisClient; +import org.redisson.client.RedisClientConfig; +import org.redisson.client.RedisConnection; import org.redisson.client.WriteRedisConnectionException; +import org.redisson.client.protocol.RedisCommands; import org.redisson.config.Config; import org.redisson.connection.balancer.RandomLoadBalancer; import java.io.IOException; +import java.util.List; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; @@ -114,6 +119,15 @@ public class RedissonLockTest extends BaseConcurrentTest { e.shutdown(); assertThat(e.awaitTermination(10, TimeUnit.SECONDS)).isTrue(); assertThat(errors.get()).isZero(); + + RedisClientConfig cc = new RedisClientConfig(); + cc.setAddress(runner.getRedisServerAddressAndPort()); + RedisClient c = RedisClient.create(cc); + RedisConnection ccc = c.connect(); + List channels = ccc.sync(RedisCommands.PUBSUB_CHANNELS); + assertThat(channels).isEmpty(); + c.shutdown(); + redisson.shutdown(); runner.stop(); }