ActiveMQ.Advisory.xxxxxx.TempQueue.xxx, AMQ.A.xxx.Queue.xxx and
AMQ.A.xxx.Topic.xxx Topics don't get removed when the originating tempQueue,
Queue or Topic is removed so is somewhat a memory leak
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: AMQ-3324
URL: https://issues.apache.org/jira/browse/AMQ-3324
Project: ActiveMQ
Issue Type: Bug
Components: Broker
Affects Versions: 5.5.0, 5.4.2
Reporter: Marcel Casado
Priority: Minor
Seems like support for removing some Advisories topics when their originating
queue, topic, tempQueue or tempTopic is removed has not been provided.
In RegionBroker.java :
public void removeAdvisoryTopics(String destinationType, ConnectionContext
context, ActiveMQDestination destination, long timeout) throws Exception {
if (this.brokerService.isAdvisorySupport()) {
String producerAdvisoryTopic =
AdvisorySupport.PRODUCER_ADVISORY_TOPIC_PREFIX + destinationType +
destination.getPhysicalName();
String consumerAdvisoryTopic =
AdvisorySupport.CONSUMER_ADVISORY_TOPIC_PREFIX + destinationType +
destination.getPhysicalName();
ActiveMQDestination dests[] = getDestinations();
for (ActiveMQDestination dest: dests) {
String name = dest.getPhysicalName();
if ( name.equals(producerAdvisoryTopic) ||
name.equals(consumerAdvisoryTopic) ) {
try {
removeDestination(context, dest, timeout);
} catch (JMSException ignore) {
// at least ignore the Unknown Destination Type
JMSException
}
}
}
}
}
Seem like PRODUCER_ADVISORY_TOPIC and CONSUMER_ADVISORY_TOPIC topics are
removed when originating destination is removed.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira