STOMP:在发送消息之前检查消费者是不是正在运行的方法?
Posted
技术标签:
【中文标题】STOMP:在发送消息之前检查消费者是不是正在运行的方法?【英文标题】:STOMP: Way to check if a consumer is running before sending a message?STOMP:在发送消息之前检查消费者是否正在运行的方法? 【发布时间】:2011-06-21 03:50:50 【问题描述】:我想知道是否有办法在发送消息之前检查消费者是否正在运行?我正在使用最新的 php STOMP,并且正在努力查看是否有办法在发送之前检测它是否正在运行,并且消息只是在队列中建立。
谢谢, 史蒂夫
【问题讨论】:
【参考方案1】:查看 AMQ 中可用的 BrokerStatisticsPlugin,它允许您的客户端发送消息并让代理向您发送有关其当前状态的各种好信息。
见: http://activemq.apache.org/statisticsplugin.html
问候
蒂姆 www.fusesource.com
【讨论】:
【参考方案2】:如果您有 ActiveMQ Web Console 运行,您可以对 xml/queues.jsp 页面进行 CURL 调用,这将返回您的 XML 与 <queue>
节点看起来像
<queue name="integration">
<stats size="0" consumerCount="1" enqueueCount="92491" dequeueCount="92491"/>
<feed>
<atom>queueBrowse/integration?view=rss&feedType=atom_1.0</atom>
<rss>queueBrowse/integration?view=rss&feedType=rss_2.0</rss>
</feed>
</queue>
您正在寻找<stats>
节点的consumerCount
属性。
【讨论】:
啊,这很有趣。我最终做了一个 ps -aux 的 grep以上是关于STOMP:在发送消息之前检查消费者是不是正在运行的方法?的主要内容,如果未能解决你的问题,请参考以下文章
使用Spring STOMP websockets向单个人发送消息
Spring stomp - 使用 SimpMessagingTemplate 从服务器发送消息