From 28fb816bef60610815067f909d11cff426ec0d41 Mon Sep 17 00:00:00 2001 From: Jonathan Leibiusky Date: Mon, 28 Feb 2011 13:12:47 -0300 Subject: [PATCH] pubsub should flush commands ASAP since it won't read from the socket --- src/main/java/redis/clients/jedis/BinaryJedisPubSub.java | 6 ++++++ src/main/java/redis/clients/jedis/JedisPubSub.java | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/src/main/java/redis/clients/jedis/BinaryJedisPubSub.java b/src/main/java/redis/clients/jedis/BinaryJedisPubSub.java index 81e79d6..9f34b4a 100644 --- a/src/main/java/redis/clients/jedis/BinaryJedisPubSub.java +++ b/src/main/java/redis/clients/jedis/BinaryJedisPubSub.java @@ -31,26 +31,32 @@ public abstract class BinaryJedisPubSub { public void unsubscribe() { client.unsubscribe(); + client.flush(); } public void unsubscribe(byte[]... channels) { client.unsubscribe(channels); + client.flush(); } public void subscribe(byte[]... channels) { client.subscribe(channels); + client.flush(); } public void psubscribe(byte[]... patterns) { client.psubscribe(patterns); + client.flush(); } public void punsubscribe() { client.punsubscribe(); + client.flush(); } public void punsubscribe(byte[]... patterns) { client.punsubscribe(patterns); + client.flush(); } public boolean isSubscribed() { diff --git a/src/main/java/redis/clients/jedis/JedisPubSub.java b/src/main/java/redis/clients/jedis/JedisPubSub.java index 4bb18dc..48a1a72 100644 --- a/src/main/java/redis/clients/jedis/JedisPubSub.java +++ b/src/main/java/redis/clients/jedis/JedisPubSub.java @@ -32,26 +32,32 @@ public abstract class JedisPubSub { public void unsubscribe() { client.unsubscribe(); + client.flush(); } public void unsubscribe(String... channels) { client.unsubscribe(channels); + client.flush(); } public void subscribe(String... channels) { client.subscribe(channels); + client.flush(); } public void psubscribe(String... patterns) { client.psubscribe(patterns); + client.flush(); } public void punsubscribe() { client.punsubscribe(); + client.flush(); } public void punsubscribe(String... patterns) { client.punsubscribe(patterns); + client.flush(); } public boolean isSubscribed() { @@ -61,12 +67,14 @@ public abstract class JedisPubSub { public void proceedWithPatterns(Client client, String... patterns) { this.client = client; client.psubscribe(patterns); + client.flush(); process(client); } public void proceed(Client client, String... channels) { this.client = client; client.subscribe(channels); + client.flush(); process(client); }