ThreadSafeClientConnManagerは非推奨になり、新しいメソッドがPoolingClientConnectionManagerに導入されました。
PoolingClientConnectionManagerのドキュメントによると
クライアント接続のプールを管理し、複数の実行スレッドからの接続要求を処理できます。接続はルートごとにプールされます。
私の質問
ここでのルートごとの基準の意味は何ですか?
ThreadSafeClientConnManagerは非推奨になり、新しいメソッドがPoolingClientConnectionManagerに導入されました。
PoolingClientConnectionManagerのドキュメントによると
クライアント接続のプールを管理し、複数の実行スレッドからの接続要求を処理できます。接続はルートごとにプールされます。
私の質問
ここでのルートごとの基準の意味は何ですか?
簡単に言えば、ルートごととは、接続しているホストごとを意味します。
PoolingHttpClientConnectionManager
ルートごとおよび合計で接続の最大制限を維持します。デフォルトでは、この実装は、指定されたルートごとに2つ以下の同時接続を作成し、合計で20を超える接続を作成しません。
HttpRouteを指します。HttpRouteは、同じWebサーバーで実行されている複数のアプリケーションを示します。
以下のように使用されます。
ClientConnectionRequest connRequest = connMrg.requestConnection(
new HttpRoute(new HttpHost("localhost", 80)), null);
ManagedClientConnection conn = connRequest.getConnection(10, TimeUnit.SECONDS);
try {
BasicHttpRequest request = new BasicHttpRequest("GET", "/");
conn.sendRequestHeader(request);
HttpResponse response = conn.receiveResponseHeader();
conn.receiveResponseEntity(response);
HttpEntity entity = response.getEntity();
if (entity != null) {
BasicManagedEntity managedEntity = new BasicManagedEntity(entity, conn, true);
// Replace entity
response.setEntity(managedEntity);
}
// Do something useful with the response
// The connection will be released automatically
// as soon as the response content has been consumed
} catch (IOException ex) {
// Abort connection upon an I/O error.
conn.abortConnection();
throw ex;
}
ソース: http: //hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html