проверить, подписан ли подписчик activemq на тему или нет?

Я работаю над кодом, в котором есть 3 подписчика (непостоянных) на тему в activemq, но происходит что-то не так, и один подписчик отключается от темы и больше никогда не подключается, даже если используемый протокол является отказоустойчивым. Итак, как я могу проверить статус подписчика, и если он не подписан, то подключить его обратно.


person Abhishek    schedule 30.04.2015    source источник


Ответы (1)


Я думаю, вам следует попытаться подключить ExceptionListener к вашему JMS-соединению - он должен показать вам, как только подписчик по какой-то причине отключится.

person scir    schedule 30.04.2015
comment
под exceptionListener вы имеете в виду подключение TransportListener? - person Abhishek; 30.04.2015
comment
Я предположил, что вы используете JMS - это правильно? Если да, взгляните на следующий код: // KEY - register for exception callbacks connection.setExceptionListener(new ExceptionListenerImpl()); в Прослушиватель исключений Пример - person scir; 30.04.2015
comment
да, я использую только jms. Я попробую добавить ExceptionListener. - person Abhishek; 03.05.2015
comment
Я обнаружил, что клиент использует отказоустойчивый протокол, но также не подключается повторно. Более того, ExceptionListener никогда не вызывается с отказоустойчивым протоколом. - person Abhishek; 04.05.2015
comment
Да я вижу. Изучили ли вы следующий вопрос: stackoverflow.com/questions/ 14172547/ - person scir; 05.05.2015
comment
я попытался добавить exceptionListener, он работал нормально, но затем я попробовал его с отработкой отказа, и он работал нормально. На самом деле была некоторая проблема с кодом, поэтому теперь он отлично работает в обоих направлениях. Спасибо @scir. - person Abhishek; 05.05.2015