Remove message listener key only after successfully unsubscribing

This commit is contained in:
Chris Eager
2022-11-02 17:15:13 -05:00
committed by Chris Eager
parent fbf6b9826e
commit eb57d87513

View File

@@ -384,12 +384,13 @@ public class MessagesCache extends RedisClusterPubSubAdapter<String, String> imp
}
public void removeMessageAvailabilityListener(final MessageAvailabilityListener listener) {
@Nullable final String queueName = queueNamesByMessageListener.remove(listener);
@Nullable final String queueName = queueNamesByMessageListener.get(listener);
if (queueName != null) {
unsubscribeFromKeyspaceNotifications(queueName);
synchronized (messageListenersByQueueName) {
queueNamesByMessageListener.remove(listener);
messageListenersByQueueName.remove(queueName);
}
}