JMS を介して通信するサーバーを備えたシステムがあります。JMS への接続が失われた後、一部のサーバーが再接続できない場合があります。サーバーの再起動時に接続が失われる、ネットワークが悪い... 再接続できない理由は、「ClientID が既に使用されている」ためです。エラー。
JMS ログからの抜粋:
「接続 guest@10.0.0.106:2390 のクライアントが、既に使用されているクライアント ID ABC を使用しようとしました
競合する clientID ABC は、ローカル接続の guest@10.0.0.106:1098 によって所有されています"
すべてのサーバーには個別の clientID があります。リモート ポート 1098 の接続は、サーバー 10.0.0.106 が JMS への接続を失う前に存在していました。サーバー ABC のポート 1098 は開いていません。
問題が発生したときにTCPviewを使用してみました。ポート 1098 でのサーバーへの古い接続がまだ存在します。
2 つの質問があります。
JMS が制御パケットを存在しないリモート ポート 1098 にエラーなしで送信することは可能ですか?
OS が接続切断を認識しない理由は何ですか?