JMS ловит, когда сервер JMS уходит

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


person corydoras    schedule 02.02.2010    source источник


Ответы (3)


Вы можете зарегистрировать ExceptionListner в JMS. Connection с помощью Connection.setExceptionListener(ExceptionListener)

ExceptionListener будет получать уведомления о большем количестве проблем, чем о фактическом отключении, поэтому вам, возможно, придется фильтровать JMSException, которые передаются слушателю.

person skaffman    schedule 02.02.2010

ExceptionListener не обязательно достаточно. Вам также необходимо перехватывать исключения для любых вызовов JMS, которые вы делаете (например, при отправке сообщений). См. раздел Повторное подключение прослушивателя JMS к JBossMQ.

person John M    schedule 02.02.2010

если вы работаете на MQ и хотите решить эту проблему, установите локальный экземпляр MQ. Больше лицензии, но вы получите гарантированную доставку, если ваш основной корпоративный MQ выйдет из строя.

Другой вариант, используйте Spring и позвольте фреймворку восстановить соединение.

person Aerosteak    schedule 13.04.2010
comment
Я не уверен, что добавление массивной библиотеки Spring является лучшим решением для повторного подключения к очереди JMS. (: - person corydoras; 30.04.2010