バックグラウンド :
Solr サービスに接続するために HttpClient (SolrJ) を使用しています。ただし、質問はSolrとは直接関係ありません。
負荷テストを行っているときに、次の問題に遭遇しました。
原因: java.lang.IllegalStateException: BasicClientConnManager の無効な使用: 接続がまだ割り当てられています。
SOF 回答 - プール接続マネージャーを使用するには
質問 :
次のコードのようにPoolingHttpClientConnectionManagerを使用しています。接続サイズを手動で調整する代わりに、 AIMDBackoffManagerを使用して管理したいと考えています。AIMDBackoffManagerただし、パラメーターとして接続プールが必要であることがわかります。
public static final PoolingClientConnectionManager poolingConnectionManager = new PoolingClientConnectionManager();
public static DefaultHttpClient getHttpClient(){
DefaultHttpClient httpClient = new DefaultHttpClient(poolingConnectionManager);
httpClient.setBackoffManager(new AIMDBackoffManager(poolingConnectionManager));
...
...
}
私はかなりグーグルで検索しましたが、 の使用法に関する例を見つけることができませんBackoffManager。だから、これは私がしたことですが、接続マネージャーをDefaultHttpClient. それとも、初めて に渡しHttpClient、2 回目に に渡すことを考えると、心配する必要はありませんBackoffManagerか?
httpclient-4.2.3 を使用しています