IBM JMS соединение - PullRequest
       25

IBM JMS соединение

3 голосов
/ 26 июля 2010

В настоящее время я работаю в C #, и мне нужно проверить состояние соединения JMS, которое я установил (подключено ли оно / отключено). Я уверен, что я могу подключиться и отключиться успешно .. это просто, что мне нужно, чтобы отобразить состояние подключения в моем пользовательском интерфейсе.

Есть ли какие-либо свойства соединения JMS, в которых указано состояние соединения? Или есть какой-то другой метод, который я могу использовать для проверки состояния соединения?

Спасибо за вашу помощь. :)


В настоящее время я использую ExceptionListener для прослушивания любых исключений, и флаг будет установлен в false, когда любое исключение будет перехвачено. И когда я подключаюсь, я установлю флаг в true, а когда я отключаюсь, я установлю флаг в false.

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

Однако я подумал, что если есть какое-либо свойство / методы соединения IBM, которые можно использовать, чтобы показать состояние соединения как его гораздо лучшее решение. Для SonicMQ есть метод .getConnectedState (), который показывает, является ли соединение активным или неактивным. Мне было интересно, есть ли у IBM что-то похожее на SonicMQ?

1 Ответ

1 голос
/ 26 июля 2010

Вы можете использовать метод Connection.setExceptionListener () для асинхронного уведомления об исключениях, обнаруженных в соединении.Если обнаружена проблема, вызывается метод onException().

Обязательно установите свойство FAILIFQUIESCE на фабриках и пунктах назначения, чтобы ваше соединение уведомлялось и закрывалось упорядоченным образом, когдаQMgr отключен администратором.

В v7 WMQ это возможно, поэтому разрешите переподключение сеанса в транспорте.В этом случае приложение может не знать, что соединение было прервано, но вы можете рассматривать его как непрерывное соединение.

Обратите внимание, что по большей части исключения вызываются вызовами API приложения.Поэтому, если соединение потеряно, вы можете не знать об этом в реальном времени, а узнать, когда был выполнен вызов API.Если приложение долго не используется, и вы хотите в режиме реального времени отображать состояние соединения.См. Также « Как узнать, есть ли JMS-соединение? » для получения дополнительной информации по этой теме.

WMQ v7 имеет опции для автоматического повторного подключения клиента.Вы должны использовать v7 как на клиенте, так и на сервере, чтобы это работало.Поскольку с сентября 2011 года выпуск v6 заканчивается, лучше всего разрабатывать это приложение на v7.Вы можете загрузить клиент v7 как SupportPac MQC7 .Когда JMS-клиент переподключается , приложение может не знать об активности соединения, за исключением задержки ответа на вызов API во время перестройки соединения.Длина этой задержки зависит от настройки канала, установленной администратором, и от фабрики соединений.

...