如何获取ActiveMQ的入队计数?

时间:2018-09-10 07:54:01

标签: java activemq

有人可以帮助我如何为Active MQ中的特定队列获取Enqueue Count吗?

这是我的代码:

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 :(得分:0)

您似乎正在尝试将ActiveMQ JMS客户端资源转换为JMX MBean,这当然是行不通的。您需要使用JMX来访问代理的管理功能。

使用MBean的一些示例可以在代理的unit tests中找到