【发布时间】:2014-08-05 19:30:24
【问题描述】:
大家好,
我正在寻找一种方法来计算 ActiveMQ 中匹配消息的数量。这是添加消息的代码:
ObjectMessage myBeanMessage = session.createObjectMessage();
myBeanMessage.setObject(myBean);
myBeanMessage.setStringProperty("myProperty", myBean.getProperty());
producer.send(myBeanMessage);
现在我想统计 myQueue 中 myProperty = "a property String" 的消息数,例如,但没有找到任何 QueueMBean api: http://activemq.apache.org/maven/5.7.0/activemq-core/apidocs/org/apache/activemq/broker/jmx/QueueViewMBean.html
唯一可能满足我要求的api是
int copyMatchingMessagesTo(String selector, String destinationName) 抛出异常
复制匹配给定选择器的消息
返回:复制的消息数
抛出:异常
这意味着我必须将所有匹配的消息复制到另一个队列并计算复制的消息数。 但是,我觉得复制所有匹配的消息只是为了找出复制了多少条消息,这在某种程度上是“不必要的资源浪费”。
那么,有什么方法可以直接统计匹配到的消息数吗?
谢谢
【问题讨论】:
标签: activemq