Когда возникает сетевая проблема, которая приводит к отключению клиента от сервера JMS, есть ли какой-либо другой способ обнаружить проблему, кроме ожидания до тех пор, пока не будет отправлено следующее сообщение JMS?
JMS ловит, когда сервер JMS уходит
Ответы (3)
Вы можете зарегистрировать ExceptionListner в JMS. Connection с помощью Connection.setExceptionListener(ExceptionListener)
ExceptionListener будет получать уведомления о большем количестве проблем, чем о фактическом отключении, поэтому вам, возможно, придется фильтровать JMSException, которые передаются слушателю.
ExceptionListener не обязательно достаточно. Вам также необходимо перехватывать исключения для любых вызовов JMS, которые вы делаете (например, при отправке сообщений). См. раздел Повторное подключение прослушивателя JMS к JBossMQ.
если вы работаете на MQ и хотите решить эту проблему, установите локальный экземпляр MQ. Больше лицензии, но вы получите гарантированную доставку, если ваш основной корпоративный MQ выйдет из строя.
Другой вариант, используйте Spring и позвольте фреймворку восстановить соединение.