2015-02-05 5 views
2

Я использую брокер обмена сообщениями ActiveMQ, и у меня есть требование, когда приложение-производитель хочет узнать, идет ли потребительское приложение, потребляющее конкретное место назначения, или нет?Уведомить производителя ActiveMQ, если потребитель по месту назначения не работает

Как я могу это достичь?

Спасибо!

ответ

2

Вы должны оформить заказ Advisory messages. Это тема, на которую вы можете подписаться, если вам нужны обновления для таких событий.

В частности, тема: ActiveMQ.Advisory.NoConsumer.Queue должна представлять интерес. Вам необходимо активировать эту сторону брокера, используя свойство политики назначения: sendAdvisoryIfNoConsumers.

0

Вы можете сделать это с помощью Java код следующим образом:

класс назначения имеет метод getConsumers() который будет возвращать список подписок к этому пункту назначения, и это в свою очередь даст вам потребительскую информацию, этим вы можете проверить активен ли ваш требуемый потребитель или нет.

Удачи вам!

+0

считают, что производитель и потребитель соединяют брокер с использованием двух разных JVM [разных контекстов]. Тогда как это возможно? –

+0

, если они находятся в другом контексте, тогда я не думаю, что будет требование этого общения вообще – Vihar

Смежные вопросы