如果目的地的消费者已关闭,请通知ActiveMQ生产者

时间:2015-02-05 09:36:50

标签: spring jms activemq spring-jms

我正在使用ActiveMQ消息代理,我有一个要求,生产者应用程序想要知道在特定目标上消费的消费者应用程序是否已启用?

我怎样才能做到这一点?

谢谢!

2 个答案:

答案 0 :(得分:2)

你应该结帐Advisory messages。如果您想要更新此类事件,可以订阅这个主题。

特别是主题:ActiveMQ.Advisory.NoConsumer.Queue应该是有意义的。您需要使用目标策略属性启用它的代理端:sendAdvisoryIfNoConsumers

答案 1 :(得分:0)

您可以使用以下Java代码执行此操作:

目标类有一个方法getConsumers(),它会将订阅列表返回到该目的地,然后它会向您提供消费者信息,通过这种方式,您可以检查您所需的消费者是否处于活动状态。

祝你好运!