У нас есть система с серверами, связывающимися через JMS. Иногда некоторые серверы не могут восстановить соединение после потери соединения с JMS. Потеря соединения происходит при перезапуске сервера, плохой сети ... Причина, по которой не удается восстановить соединение, - это «ClientID уже используется». ошибка.
выдержка из журнала JMS:
"Клиент на соединении guest@10.0.0.106: 2390 пытался использовать идентификатор клиента ABC, который уже используется
Конфликтующий clientID ABC принадлежит локальному соединению guest@10.0.0.106: 1098 "
Все серверы имеют разные clientID. Соединение на удаленном порту 1098 существовало до того, как сервер 10.0.0.106 потерял соединение с JMS. Порт 1098 на сервере ABC даже не открыт.
Я попытался использовать TCPview , когда возникла проблема. Старое соединение с сервером через порт 1098 все еще существует.
У меня есть 2 вопроса:
Возможно ли, чтобы JMS отправлял контрольные пакеты на удаленный удаленный порт 1098 без ошибки?
В чем может быть причина, по которой ОС не распознает разрыв соединения?