diff --git a/redisson/src/test/java/org/redisson/RedissonReliableTopicTest.java b/redisson/src/test/java/org/redisson/RedissonReliableTopicTest.java index 8cc303a53..a81a43813 100644 --- a/redisson/src/test/java/org/redisson/RedissonReliableTopicTest.java +++ b/redisson/src/test/java/org/redisson/RedissonReliableTopicTest.java @@ -143,7 +143,7 @@ public class RedissonReliableTopicTest extends BaseTest { } @Test - public void testListener() throws InterruptedException { + public void testReattach() throws InterruptedException { RReliableTopic rt = redisson.getReliableTopic("test2"); AtomicInteger i = new AtomicInteger(); String id = rt.addListener(String.class, (ch, m) -> { @@ -151,11 +151,35 @@ public class RedissonReliableTopicTest extends BaseTest { }); rt.publish("1"); + Thread.sleep(5); assertThat(i).hasValue(1); rt.removeListener(id); assertThat(rt.publish("2")).isEqualTo(0); + + String id2 = rt.addListener(String.class, (ch, m) -> { + i.incrementAndGet(); + }); + + assertThat(rt.publish("3")).isEqualTo(1); Thread.sleep(5); + assertThat(i).hasValue(3); + } + + @Test + public void testListener() throws InterruptedException { + RReliableTopic rt = redisson.getReliableTopic("test2"); + AtomicInteger i = new AtomicInteger(); + String id = rt.addListener(String.class, (ch, m) -> { + i.incrementAndGet(); + }); + + rt.publish("1"); + Thread.sleep(5); + assertThat(i).hasValue(1); + rt.removeListener(id); + + assertThat(rt.publish("2")).isEqualTo(0); assertThat(i).hasValue(1); }