In our production environment, we use AMQ broker with Kaha DB persistence. We have set the following in broker configuration:
schedulePeriodForDestinationPurge="600000" offlineDurableSubscriberTimeout="259200000" offlineDurableSubscriberTaskSchedule="3600000" <policyEntry topic=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="3600000"> Sometimes, I have observed that when the inactivity monitor runs, its not able to purge inactive destination. Following is log snippet : 2016-05-15 22:29:27,742 | INFO | profile.<ph_no> Inactive for longer than 3600000 ms - removing ... | org.apache.activemq.broker.region.Topic | ActiveMQ Broker[PrimaryBroker] Scheduler 2016-05-15 22:29:27,744 | ERROR | Failed to remove inactive destination Topic: destination=profile.<ph_no>, subscriptions=0 | org.apache.activemq.broker.region.RegionBroker | ActiveMQ Broker[PrimaryBroker] Scheduler javax.jms.JMSException: Destination still has an active subscription: topic://profile.<ph_no> at org.apache.activemq.broker.region.AbstractRegion.removeDestination(AbstractRegion.java:270)[activemq-broker-5.13.2.jar:5.13.2] at org.apache.activemq.broker.region.RegionBroker.removeDestination(RegionBroker.java:363)[activemq-broker-5.13.2.jar:5.13.2] at org.apache.activemq.broker.BrokerFilter.removeDestination(BrokerFilter.java:178)[activemq-broker-5.13.2.jar:5.13.2] at org.apache.activemq.broker.BrokerFilter.removeDestination(BrokerFilter.java:178)[activemq-broker-5.13.2.jar:5.13.2] at org.apache.activemq.broker.MutableBrokerFilter.removeDestination(MutableBrokerFilter.java:183)[activemq-broker-5.13.2.jar:5.13.2] at org.apache.activemq.broker.region.RegionBroker.purgeInactiveDestinations(RegionBroker.java:918)[activemq-broker-5.13.2.jar:5.13.2] at org.apache.activemq.broker.region.RegionBroker$1.run(RegionBroker.java:118)[activemq-broker-5.13.2.jar:5.13.2] at org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)[activemq-client-5.13.2.jar:5.13.2] at java.util.TimerThread.mainLoop(Timer.java:555)[:1.7.0_95] at java.util.TimerThread.run(Timer.java:505)[:1.7.0_95] One part of the log message says "there are 0 subscriptions", but another part says "Destination still has an active subscription" Why is this inconsistency? -- View this message in context: http://activemq.2283324.n4.nabble.com/Failed-to-remove-inactive-destination-tp4711967.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.