ActiveMQ排队消息java servicemix karaf命令

时间:2016-05-09 08:38:44

标签: java activemq apache-karaf apache-servicemix

我正在使用 ActiveMQ ServiceMix ,我希望在java中排队消息计数/出列消息计数等...我想要像在ActiveMQ控制台中显示的价值

Name    Number Of Pending Messages      Number Of Consumers     Messages Enqueued       Messages Dequeued       Views       Operations  
Consumer.ID-10-147-244-247-15461c6c293-38-0.Vir...  0   2   13  13  
Consumer.ID-10-147-244-247-15470570c61-108-0.Vi...  0   2   13  13

我想获取消息排队列:)

我的程序开始与消费者和听众的会话。一切正常。

但是为了监控,我写了一个 karaf命令来调用我的订阅对象(订阅包含会话/连接/队列等...)

在我的订阅中,我试试这个:

ActiveMQConnection activeMQConnection = ((ActiveMQConnection) connection);
ActiveMQQueue activeMQQueue = getQueueConnection(queueName, activeMQConnection);

ActiveMQTopic a = AdvisorySupport.getConsumerAdvisoryTopic(activeMQQueue);

但接下来我不知道如何让DestinationStatistics获取有关我的队列/主题的所有信息......

我也试过这个:

QueueBrowser queueBrowser = session.createBrowser(activeMQQueue);

但浏览器中没有任何内容。

如果有人可以帮助我获取DestinationStatistics对象;)

非常感谢

1 个答案:

答案 0 :(得分:0)

最后我使用QueueBrowser来了解队列的长度,QueuBrowser只是浏览队列而不删除它们,所以我可以迭代并计算任何队列中的消息数。