Jms 是否临时复制特定activeMQ队列以统计消息数?

Jms 是否临时复制特定activeMQ队列以统计消息数?,jms,activemq,Jms,Activemq,由于内存限制,activeMQ只返回队列的快照,并不能保证在对其进行迭代时所有消息都是正确的 为了统计所有消息,其中一个属性与特定值匹配,我考虑制作队列的副本(不使用消息)。一旦创建了临时副本,我就可以开始使用这个临时队列中的消息,并统计与该属性匹配的所有消息。这样原始队列将不受影响 是否可以在不使用队列中的消息的情况下复制队列?它有什么缺点吗 镜像队列,虚拟主题和复合目的地不会有帮助,因为它会将所有消息转发到另一个队列,而不会复制现有队列。鉴于您只想获得队列中的消息计数,而使用for the

由于内存限制,activeMQ只返回队列的快照,并不能保证在对其进行迭代时所有消息都是正确的

为了统计所有消息,其中一个属性与特定值匹配,我考虑制作队列的副本(不使用消息)。一旦创建了临时副本,我就可以开始使用这个临时队列中的消息,并统计与该属性匹配的所有消息。这样原始队列将不受影响

是否可以在不使用队列中的消息的情况下复制队列?它有什么缺点吗


镜像队列,虚拟主题和复合目的地不会有帮助,因为它会将所有消息转发到另一个队列,而不会复制现有队列。

鉴于您只想获得队列中的消息计数,而使用for the queue statistics很容易实现,这种方法似乎有些过分。您也可以使用RESTAPI访问MBean


如果您坚决反对JMX,那么您可以利用允许基于消息的API访问代理统计信息。

我想获得在特定时间范围内添加到队列的消息数。不是队列中整个消息的计数。@ChetanParakh--JMX记录入/出队列计数以及总大小。您可以比较两个时间点的排队计数。尝试复制队列——即使是可能的——也无法解决问题,除非您可以立即复制它。@ChetanParakh听起来像是要将代理视为一个数据库,但它肯定不是。