diff --git a/redisson/src/main/java/org/redisson/PubSubPatternStatusListener.java b/redisson/src/main/java/org/redisson/PubSubPatternStatusListener.java index 41b915e9f..c2d0f5562 100644 --- a/redisson/src/main/java/org/redisson/PubSubPatternStatusListener.java +++ b/redisson/src/main/java/org/redisson/PubSubPatternStatusListener.java @@ -75,12 +75,15 @@ public class PubSubPatternStatusListener implements RedisPubSubListener { @Override public boolean onStatus(PubSubType type, String channel) { - if (type == PubSubType.PSUBSCRIBE) { - listener.onPSubscribe(channel); - } else if (type == PubSubType.PUNSUBSCRIBE) { - listener.onPUnsubscribe(channel); + if (channel.equals(name)) { + if (type == PubSubType.PSUBSCRIBE) { + listener.onPSubscribe(channel); + } else if (type == PubSubType.PUNSUBSCRIBE) { + listener.onPUnsubscribe(channel); + } + return true; } - return true; + return false; } } diff --git a/redisson/src/main/java/org/redisson/PubSubStatusListener.java b/redisson/src/main/java/org/redisson/PubSubStatusListener.java index 43335f4c7..78b1abcab 100644 --- a/redisson/src/main/java/org/redisson/PubSubStatusListener.java +++ b/redisson/src/main/java/org/redisson/PubSubStatusListener.java @@ -75,12 +75,15 @@ public class PubSubStatusListener implements RedisPubSubListener { @Override public boolean onStatus(PubSubType type, String channel) { - if (type == PubSubType.SUBSCRIBE) { - listener.onSubscribe(channel); - } else if (type == PubSubType.UNSUBSCRIBE) { - listener.onUnsubscribe(channel); + if (channel.equals(name)) { + if (type == PubSubType.SUBSCRIBE) { + listener.onSubscribe(channel); + } else if (type == PubSubType.UNSUBSCRIBE) { + listener.onUnsubscribe(channel); + } + return true; } - return true; + return false; } }