diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java index 90722f948..3fb675c95 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/WhisperServerService.java @@ -349,6 +349,7 @@ public class WhisperServerService extends Application implements UserMessagesCache { +public class RedisClusterMessagesCache extends RedisClusterPubSubAdapter implements UserMessagesCache, Managed { private final FaultTolerantRedisCluster redisCluster; private final FaultTolerantPubSubConnection pubSubConnection; @@ -90,7 +91,10 @@ public class RedisClusterMessagesCache extends RedisClusterPubSubAdapter { connection.addListener(this); connection.getResources().eventBus().get() @@ -102,6 +106,11 @@ public class RedisClusterMessagesCache extends RedisClusterPubSubAdapter connection.sync().masters().commands().unsubscribe()); + } + private void resubscribeAll() { final Set queueNames; diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/storage/RedisClusterMessagesCacheTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/storage/RedisClusterMessagesCacheTest.java index 4202fe521..0a7d1e4c3 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/storage/RedisClusterMessagesCacheTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/storage/RedisClusterMessagesCacheTest.java @@ -35,14 +35,18 @@ public class RedisClusterMessagesCacheTest extends AbstractMessagesCacheTest { notificationExecutorService = Executors.newSingleThreadExecutor(); messagesCache = new RedisClusterMessagesCache(getRedisCluster(), notificationExecutorService); + + messagesCache.start(); } @Override public void tearDown() throws Exception { - super.tearDown(); + messagesCache.stop(); notificationExecutorService.shutdown(); notificationExecutorService.awaitTermination(1, TimeUnit.SECONDS); + + super.tearDown(); } @Override