JMS计算主题域中待处理消息的数量

时间:2014-02-19 14:56:58

标签: java tomcat jms activemq tibco

首先抱歉创建了新主题。我做到了,因为不幸的是其他人对我来说并不是很清楚。

问题。
我想知道是否可以计算主题子/ pub中待处理的消息数量。 我在测试环境中使用tomcat和activemq,但我将在真实的环境中使用Tibco。是否有一种简单而通用的方法。

观测值
我已经使用纯JMS实现了一个消费者客户,它可以很好地接收来自其主题的所有消息。

3 个答案:

答案 0 :(得分:1)

对于您的开发环境,如果您使用ActiveMQ并希望查看主题/队列中的待处理消息数,则可以使用ActiveMQ的JMX支持来监视JMS主题/队列。在this article中给出了使用JMX for ActiveMQ的一个很好的介绍。请注意,一旦您拥有QueueViewMBean,您就可以通过调用getQueueSize方法获取尚未发送的消息数。对于Tibco经纪人,我不知道它们是否提供与ActiveMQ类似的功能。我认为这取决于不同的JMS代理实现。

答案 1 :(得分:0)

您熟悉TIBCO GEMS(图形化EMS管理员)工具吗? 它可以在tibcommunity网站上免费下载

GEMS可以在TIBCO EMS主题上显示持久订阅者的待处理消息

答案 2 :(得分:0)

<强>解决

首先,谢谢有帮助过我的人。我已经在几周前完成了这个任务,但不幸的是我无法与你分享我为解决它所做的工作。 JMS的概念在我的脑海中并不是很清楚,从我的角度来看,这对问题解决方案至关重要。

首先,与待处理邮件相关的信息会被合并到提供商中。
每个提供程序都实现其所有类来处理此类信息。

Tibco罐子
Tibco提供了一个名为tibjmsadmin的jar,您可以在其中找到所有信息,例如与主题或队列相关的统计信息。

<强>解决方案
作为解决方案,tibjmsadmin被实现到我的项目中,因此通过其类来访问主题的信息。

tibjmsadmin:https://docs.tibco.com/pub/enterprise_message_service/6.3.0-february-2012/doc/html/tib_ems_api_reference/api/javadoc/com/tibco/tibjms/admin/package-summary.html

oracle规范:http://www.oracle.com/technetwork/java/docs-136352.html