removeTopicFromRetryList(connInfo, topic);
}
else {
Map<String, MessageReceiver> topicsMap = receiversMap.get(connInfo);
if (topicsMap != null) {
MessageReceiver receiver = null;
synchronized (topicsMap) {
receiver = topicsMap.remove(topic);
if (topicsMap.isEmpty()) {
receiversMap.remove(connInfo);
}
}
if (receiver != null) {
try {
receiver.getSession().close();
}
catch (JMSException e) {
LOG.warn("Unable to close session " + receiver.getSession(), e);
}
}
else {
LOG.warn("Received request to unregister from topic [{0}] on [{1}], but no matching session.",
topic, connInfo);