Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Not A Problem
-
5.4.2, 5.5.0
-
None
-
None
Description
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
catch (JMSException ignore)
{ // at least ignore the Unknown Destination Type JMSException } }
}
}
}
Seem like PRODUCER_ADVISORY_TOPIC and CONSUMER_ADVISORY_TOPIC topics are the only advisories removed when originating destination is removed. Most advisories when enabled in the policy do not get removed.