如果目的地的消费者宕机,通知 ActiveMQ 生产者

Notify ActiveMQ producer if consumer on the destination is down

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

我怎样才能做到这一点?

谢谢!

您可以使用 java 代码执行此操作,如下所示:

Destination class 有一个方法 getConsumers() 会 return 该目的地的订阅列表,它会反过来给你消费者信息,通过这个你可以检查你是否所需的消费者是否活跃。

祝你好运!

您应该结账 Advisory messages。如果您想了解此类事件的最新动态,可以订阅该主题。

具体主题:ActiveMQ.Advisory.NoConsumer.Queue 应该会感兴趣。您需要通过使用目标策略 属性 来启用代理端:sendAdvisoryIfNoConsumers.