2012-03-13 40 views
2

当登录到Web管理工具时,具有“活动连接”的队列在队列的详细信息部分显示“活动”状态。请注意,活动连接的概念是我自己的,因为我只是通过Web上的客户端通过Web服务API轮询此队列,而我没有持久连接。主要问题是如何以编程方式检索此状态?我使用的是Java(Spring AMQP),但如果需要的话,我可以重新下载到rabbit java api。RabbitMQ如何确定队列是否具有状态在管理工具中处于活动状态

我也看了一下HTTP API,但它并没有与HTTP管理门户中的“Status:Active”显示直接匹配,据我所知。

回答

3

经过一番挖掘,我发现通过查看HTTP API结果可以发现队列是否空闲。如果队列的结果具有“idle_since”字段,那么如果该字段不存在,队列处于空闲状态,队列处于活动状态。

在我的情况下,我正在寻找基于队列活动来确定用户的“存在”,并且该字段不提供该信息。这个领域反映了最近发生的事情(队列被标记为偶像以保存经纪人的记忆)。上面提到的“东西”可能是一个访问队列的客户端,在我的情况下可能会好,但也可以是一个监视工具,从rabbitmqctl命令调用list_queues。

如果您正在寻找一些简单的状态通知/消息。这里有两个可能有用的链接。第一个是向兔子添加新的交换类型的扩展,第二个是关于如何使用交换来交换绑定来实现在线通知的部分的博文。

https://github.com/tonyg/presence-exchange

http://www.rabbitmq.com/blog/2010/10/19/exchange-to-exchange-bindings/

相关问题