2010-02-02 3 views
4

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

ответ

4

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

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

3

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

0

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

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

+2

Я не уверен, что добавление массивной библиотеки весны - лучшее решение для обработки переподключения к очереди JMS. (: – corydoras

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