Как очистить и уничтожить все очереди и темы программно из объекта ActiveMQ BrokerService? - PullRequest
0 голосов
/ 25 сентября 2018

Я пробовал следующее, где 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>

В дополнение к моему основному вопросу, я не уверен, как прекратить подпискупрограммно либо.

...