どのように力断線-コモンズ-httpclient?
-
25-09-2019 - |
質問
使う-コモンズ-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
その後解放/閉鎖されていない場合は、