2011-01-10 7 views
7

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のソケットはリサイクルされているようで、少なくとも現時点ではリソースが不足していません。私は外部サーバーで何が起こっているのか分かりません。

私の質問は、これは正常であり、私は心配すべきですか?

おかげで、

ジョン

+0

いくつかのコードを表示できますか?私はちょうどこれを聞いたことがあり、MultiThreadedHttpConnectionManagerをJerseyに設定した方法を見たいと思っています... – markthegrea

+0

申し訳ありません、コードを投稿できません。 –

答えて

1

これは、ファイアウォールやリモートサーバーのタイムアウトTCPセッションのような装置である可能性が高いです。彼らのSSLページに記載されているようにあなたがWiresharkのを使用してHTTPSのパケットキャプチャを分析することができます:あなたは、ネットワークリソース(TCPを使用していないので、実際に接続を使用して行くとき

http://wiki.wireshark.org/SSL

をstaleCheckingEnabledフラグはチェックのみを発行しますセッション)を必要としないときに使用します。

関連する問題