@@ -596,7 +596,7 @@ public void addMessageListener(MessageListener listener, Topic topic) {
596
596
* @param listener message listener
597
597
* @param topics message listener topics
598
598
*/
599
- public void removeMessageListener (MessageListener listener , Collection <? extends Topic > topics ) {
599
+ public void removeMessageListener (@ Nullable MessageListener listener , Collection <? extends Topic > topics ) {
600
600
removeListener (listener , topics );
601
601
}
602
602
@@ -610,7 +610,7 @@ public void removeMessageListener(MessageListener listener, Collection<? extends
610
610
* @param listener message listener
611
611
* @param topic message topic
612
612
*/
613
- public void removeMessageListener (MessageListener listener , Topic topic ) {
613
+ public void removeMessageListener (@ Nullable MessageListener listener , Topic topic ) {
614
614
removeMessageListener (listener , Collections .singleton (topic ));
615
615
}
616
616
@@ -621,6 +621,8 @@ public void removeMessageListener(MessageListener listener, Topic topic) {
621
621
* @param listener message listener
622
622
*/
623
623
public void removeMessageListener (MessageListener listener ) {
624
+
625
+ Assert .notNull (listener , "MessageListener must not be null" );
624
626
removeMessageListener (listener , Collections .emptySet ());
625
627
}
626
628
@@ -717,12 +719,11 @@ else if (topic instanceof PatternTopic) {
717
719
}
718
720
}
719
721
720
- private void removeListener (MessageListener listener , Collection <? extends Topic > topics ) {
722
+ private void removeListener (@ Nullable MessageListener listener , Collection <? extends Topic > topics ) {
721
723
722
- Assert .notNull (listener , "MessageListener must not be null" );
723
724
Assert .notNull (topics , "Topics must not be null" );
724
725
725
- if (listenerTopics .get (listener ) == null ) {
726
+ if (listener != null && listenerTopics .get (listener ) == null ) {
726
727
// Listener not subscribed
727
728
return ;
728
729
}
@@ -1197,7 +1198,11 @@ void doSubscribe(RedisConnection connection, Collection<byte[]> patterns, Collec
1197
1198
}
1198
1199
1199
1200
if (!channels .isEmpty ()) {
1200
- connection .subscribe (synchronizingMessageListener , channels .toArray (new byte [0 ][]));
1201
+ if (patterns .isEmpty ()) {
1202
+ connection .subscribe (synchronizingMessageListener , channels .toArray (new byte [0 ][]));
1203
+ } else {
1204
+ subscribeChannel (channels .toArray (new byte [0 ][]));
1205
+ }
1201
1206
}
1202
1207
}
1203
1208
0 commit comments