質問
コネクターで通信している際に以下の例外が発生しました。
java.io.IOException: 既存の接続はリモートホストに強制的に切断されました。
原因を調査する方法を教えてください。
回答
ご質問のエラーはjavaの汎用的なエラーとなります。
アプリケーションがコネクションを使用しようとした際に、そのコネクションが使用できない状態であった場合に発生します。
■想定される原因
コネクションが使用できなかった原因は、アプリケーションが接続している接続先、OS、ネットワークなどがコネクションを切断しているか、通信障害などで意図せずに切断されていた可能性があります。
■影響範囲
外部と通信をするコネクターであれば、このエラーが発生する可能性があります。
過去事例では、RDBに接続するコネクターやFTPコネクターで発生していました。
■確認するポイント
-
通信が遮断される要因の確認
通信の接続先、OS、ネットワーク環境をご確認いただき、事象発生時にコネクションを切断していた箇所を特定してください。
具体的には以下のような要因があります。
- 接続先が通信完了前にコネクションを切断している
特定の接続先で常に例外が発生している場合には、その接続先で通信の完了前にコネクションを切断している可能性があります。
- OSやネットワーク側がコネクションを切断している
一定時間を経過した場合にだけ発生する場合は、ネットワーク環境の設定により、一定時間が経過したコネクションを切断している可能性があります。
- 事象発生時に通信の問題が発生している
同一の設定で再現頻度にばらつきがある場合には、通信環境が不安定なために事象が発生している可能性があります。
補足
発生している例外から、コネクションが使用できない状態であることは確認できます。
ただし、コネクションが使用できない状態になった原因は複数考えられるため、例外から特定することができません。
そのため、接続先または環境要因をご確認いただく必要があります。
なお、"java.io.IOException: 既存の接続はリモート ホストに強制的に切断されました。"が製品固有のエラーではなく、java の汎用的なエラーであることは、以下のような形でWEB上を検索することで確認できます。
コメント
0件のコメント
記事コメントは受け付けていません。