JDMK ベースのアプリケーションで、com.sun.jdmk.comm.HttpSendSocket の 313 行目で断続的な IOExceptions が発生しますが、その理由がわかりません。これについて Javadoc から知っているのは、入力ストリームの作成中に I/O エラーが発生した場合に IOException が発生することだけですが、どのような種類の I/O エラーが発生したのか、またはなぜ発生したのかはわかりません。このコードは、このエラーが発生する前後の両方で実際に機能しました。
この断続的な問題をデバッグする方法に関するヒントをいただければ幸いです。
HttpSendSocket は私のものではないため、ここにソース コードを貼り付けたくありませんが、IOException 例外がスローされたときに HttpURLConnection conn.getInputStream() を実行していることはわかっています。
独自のバージョンの HttpSendSocket を作成して、それに診断を追加しようと考えましたが、パッケージで保護されたクラスであるため、その方法がわかりませんでした。
以下のスタック トレース:
com.sun.jdmk.comm.CommunicationException: java.io.IOException: HTTP request failed
at com.sun.jdmk.comm.HttpSendSocket.readNotify(HttpSendSocket.java:313)
at com.sun.jdmk.comm.HttpSendInputStream.read(HttpSendInputStream.java:95)
at java.io.FilterInputStream.read(FilterInputStream.java:94)
at java.io.PushbackInputStream.read(PushbackInputStream.java:150)
at com.sun.jdmk.comm.GenericHttpConnectorClient.sendHttp(GenericHttpConnectorClient.java:486)
at com.sun.jdmk.comm.GenericHttpConnectorClient.invokeRemoteOperation(GenericHttpConnectorClient.java:2234)
at com.sun.jdmk.comm.GenericHttpConnectorClient.invoke(GenericHttpConnectorClient.java:1366)
私が言ったように、有益な提案は大歓迎です。