17

ThreadSafeClientConnManagerは非推奨になり、新しいメソッドがPoolingClientConnectionManagerに導入されました。

PoolingClientConnectionManagerのドキュメントによると

クライアント接続のプールを管理し、複数の実行スレッドからの接続要求を処理できます。接続はルートごとにプールされます。

私の質問

ここでのルートごとの基準の意味は何ですか?

4

2 に答える 2

17

簡単に言えば、ルートごととは、接続しているホストごとを意味します。

PoolingHttpClientConnectionManagerルートごとおよび合計で接続の最大制限を維持します。デフォルトでは、この実装は、指定されたルートごとに2つ以下の同時接続を作成し、合計で20を超える接続を作成しません。

于 2017-06-13T00:21:57.080 に答える
4

HttpRouteを指します。HttpRouteは、同じWebサーバーで実行されている複数のアプリケーションを示します。

http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/conn/routing/HttpRoute.html

以下のように使用されます。

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

于 2012-08-21T19:45:37.393 に答える