如何在 JBoss EAP6/HornetQ 中获取集群队列中的消息数

How to obtain number of messages in clustered queue in JBoss EAP6/HornetQ

我正在尝试在 JBoss EAP 6.4(域模式)

上对 HornetQ 集群队列中的消息进行计数

获取特定 HornetQ 实例的消息数量不是问题(here 是我这样做的方式),但我真正想要的是获取 cumulative/total 的消息数量整个集群.

中的给定队列

现在当我发送给给定队列 24604 消息时,它们被很好地分发到 3 个节点:

有没有办法计算集群中给定队列的所有消息?

我终于找到了一个解决方案,通过对所有集群成员调用广播 ejb 调用来获取集群中的消息总数,其中每个集群成员从 InVm jms 发件人获取消息数。

我在这里描述过:

  1. http://jeefix.com/how-to-invoke-broadcast-ejb-at-all-jboss-eap6-ejb-cluster-members/
  2. http://jeefix.com/managing-hornetq-queues-via-jms-api/