Я пробовал следующее, где 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>
В дополнение к моему основному вопросу, я не уверен, как прекратить подпискупрограммно либо.