Как получить Enqueue Count для ActiveMQ? - PullRequest
0 голосов
/ 10 сентября 2018

Может кто-нибудь помочь мне, как получить Enqueue Count для определенной очереди в Active MQ?

Вот мой код:

BrokerService broker = new BrokerService()
String queueName= "queue.Test"
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory('ACTIVEMQ URL')
Connection connection = connectionFactory.createConnection()
connection.start()
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE)
ActiveMQDestination requestDestination = session.createTopic(queueName)
QueueViewMBean view = (QueueViewMBean)broker.getDestination(requestDestination)
println("Count = "+view.getEnqueueCount())

Но, похоже, это не работает. Как я могу это исправить?

1 Ответ

0 голосов
/ 10 сентября 2018

Вы, похоже, пытаетесь преобразовать клиентские ресурсы JMS ActiveMQ в MBean-компоненты JMX, которые, конечно, никогда не будут работать. Вам необходимо использовать JMX для доступа к возможностям управления брокера.

Некоторые примеры использования MBeans можно найти в модульных тестах брокера

...