如何以编程方式从ActiveMQ BrokerService对象清除和销毁所有队列和主题?

时间:2018-09-25 11:31:01

标签: java jms activemq messaging

我尝试了以下操作,其中brokerService是可以假定通过调用brokerService.start()来启动的代理:

ActiveMQDestination[] dests = brokerService.getDestinations();

但是,dests为空。我也尝试过:

Broker broker = brokerService.getBroker();
Map<ActiveMQDestination, Destination> destMap = broker.getDestinationMap();
Iterator<ActiveMQDestination> destMapIter = destMap.keySet.iterator();
while(destMapIter.hasNext()) {
    ActiveMQDestination activeMQDest = destMapIter.next();
    brokerService.removeDestination(activeMQDest);
}

但这给了我以下例外:

javax.jms.JMSException: Destination still has an active subscription: queue://<queue name>

除了主要问题外,我也不知道如何以编程方式终止订阅。

0 个答案:

没有答案