首页 > 解决方案 > 如何获取 ActiveMQ 的入队计数?

问题描述

有人可以帮我如何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())

但这似乎不起作用。我该如何解决?

标签: javaactivemq

解决方案


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

可以在代理的单元测试中找到一些使用 MBean 的示例


推荐阅读