2014-09-25 105 views
1

在调试模式下,有一个ActiveMQ的日志作为的ActiveMQ获取入队/出队计数

09:44:10,666 [ActiveMQ Task-1] DEBUG org.apache.activemq.broker.region.Queue:1687 - queue.demo toPageIn: 0, Inflight: 0, pagedInMessages.size 3, enqueueCount: 10, dequeueCount: 7 

是否有可能,我可以得到我的Java代码来获得enqueueCount和dequeueCount内相同的数据?

谢谢。

ps。我试过StatisticsPlugin,但我想我不能使用它,因为在这个问题中提到异步模式ActiveMQ async statistics receving

回答

1

是的,当然可以。 ActiveMQ通过JMX公开了很多功能和数据。

看看the ActiveMQ JMX docs页面。为了获得接口的感觉,使用“jconsole”浏览MBean,并查看可能需要的方法和属性(以前的链接几乎可以用截图指出您的问题)。

JMX通过java很容易访问,所以只需开始编码。 Some starting points.

+2

谢谢@Petter。在完成JMX文档中的所有步骤后,我可以在jConsole GUI上看到我的统计信息。另外我注意到所有的统计数据都来自ActiveMQ的'QueueView'类。所以我写了一个函数来在我的代码中创建'QueueView'对象。如果有人有兴趣,这是这样的:http://rextester.com/JVK98556 – afsinka 2014-09-26 13:39:14