Jersey 1.4、ApacheHttpClient
、およびApache MultiThreadedHttpConnectionManager
クラスを使用して接続を管理しています。 HttpConnectionManager
の場合は、staleCheckingEnabledをtrueに設定し、maxConnectionsPerHostを1000に設定し、maxTotalConnectionsを1000に設定します。それ以外はすべてデフォルトです。私たちはTomcatで動作し、Jerseyクライアントを使用して複数の外部ホストに接続しています。Jersey ClientのCLOSE_WAITのソケット
私は短時間の後に、Tomcatプロセスに関連付けられたCLOSE_WAIT状態のソケットを見ることに気付きました。 tcpdumpで監視すると、外部ホストがしばらくして接続を終了しているように見えますが、終了時には閉じられません。通常、ソケット読み取りキューには24バイトのデータがあります。接続はhttpsを使用しているので、データが暗号化されているように見えるので、わかりません。
作成されるClientRequestオブジェクトが閉じていることを確認しました。 CLOSE_WAITのソケットはリサイクルされているようで、少なくとも現時点ではリソースが不足していません。私は外部サーバーで何が起こっているのか分かりません。
私の質問は、これは正常であり、私は心配すべきですか?
おかげで、
ジョン
いくつかのコードを表示できますか?私はちょうどこれを聞いたことがあり、MultiThreadedHttpConnectionManagerをJerseyに設定した方法を見たいと思っています... – markthegrea
申し訳ありません、コードを投稿できません。 –