質問

使う-コモンズ-httpclient送信をクエリー、Webサーバです。のウェブサーバーを閉じない接続が小さなメモリリークに関連する接続コンテキスト

させていっていただきたいと思い圏の持続的な接続時(毎Xのクエリ例えば、私たものは見出せなかった方もよろしくお願いします。使用しMultiThreadedHTTPConnectionManager

使ってみましたMultiThreadedHTTPConnectionManager.closeIdleConnections(very_small_delay)が、それだけではありません非常に信頼性の高い:私の場合Javaコードをいい、それを可能にする接続方法はアイドルが常に待機中の他のスレッド無料接続します。

おかげさ

役に立ちましたか?

解決

1つの方法を実行した後、method.releaseConnection()が呼び出される必要がある場合は、あなたが決めること、にresponsedはhttpStatus番号を読み取ることができる、のはGETしましょう。

それとも、あなたが試すことができたあなたは近いしたい接続を知っていれば、

MultiThreadedHTTPConnectionManager
void    releaseConnection(HttpConnection conn) 

大丈夫、私はあなたが「殺す」接続したいといういくつかの理由があると思いました。あなたが手で閉じたい接続、HttpConnectionのオブジェクトを、持っていると仮定します。この方法のヘルプはできますか?

HttpConnection
public void close()

    Closes the socket and streams. 

他のヒント

あなたはmethod.releaseConnection()を呼び出していますか?

http://hc.apache.org/httpclient-3 .X / threading.html#Connection_Releaseする

できるだけ利用 SimpleHttpConnectionManager(boolean alwaysClose)?

httpClient.setHttpConnectionManager(new SimpleHttpConnectionManager(true))
私はreleaseConnections()を使用しています。まだCLOSE_WAIT状態での接続があります。私はcloseIdleConnections(0)releaseConnectionsを追加する場合、それは大丈夫ですか?

この平均値であっても、接続が他のクライアントが使用するプールに戻って送信されますがcloseIdleConnectionsその後解放/閉鎖されていない場合は、

?それを閉じますウィル
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top