如何获取ActiveMQ的Enqueue Count?

问题描述 投票:0回答:1

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

但这似乎并没有起作用。我该如何解决?

java activemq
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.