org.apache.http.impl.conn.tsccm

## Class ThreadSafeClientConnManager

- java.lang.Object
- - org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager

- All Implemented Interfaces:
    ClientConnectionManager

  已过时。
  （4.2）使用`PoolingHttpClientConnectionManager`

      @Contract(threading=SAFE_CONDITIONAL)
      @Deprecated
      public class ThreadSafeClientConnManager
      extends Object
      implements ClientConnectionManager

  管理一个`OperatedClientConnection`的池，并能够服务来自多个执行线程的连接请求。 连接按每个路线合并。 对于已经具有持续连接以在池中可用的路由的请求将是通过从池中租用连接而不是创建全新连接来进行的服务。

  ThreadSafeClientConnManager在每个路由基础上总共维护连接的最大限制。 默认情况下，此实施方案将在每个给定路由上创建不超过2个并发连接，并且不再有20个连接。 对于许多现实世界的应用程序，这些限制可能被证明是太限制的，特别是如果他们使用HTTP作为其服务的传输协议。 然而，连接限制可以使用HTTP参数进行调整。

  从以下版本开始：
    4

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected AbstractConnPool` | `connectionPool` 已过时。
    `protected ClientConnectionOperator` | `connOperator` 已过时。 用于打开和更新连接的操作员。
    `protected ConnPerRouteBean` | `connPerRoute` 已过时。
    `protected ConnPoolByRoute` | `pool` 已过时。 正在管理的连接池。
    `protected SchemeRegistry` | `schemeRegistry` 已过时。 该连接管理器支持的方案。

  - ### 构造方法摘要

    构造方法
    Constructor and Description
    `ThreadSafeClientConnManager()` 已过时。
    `ThreadSafeClientConnManager(HttpParams params, SchemeRegistry schreg)` 已过时。 （4.1）使用`ThreadSafeClientConnManager(SchemeRegistry)`
    `ThreadSafeClientConnManager(SchemeRegistry schreg)` 已过时。 创建一个新的线程安全连接管理器。
    `ThreadSafeClientConnManager(SchemeRegistry schreg, long connTTL, TimeUnit connTTLTimeUnit)` 已过时。 创建一个新的线程安全连接管理器。
    `ThreadSafeClientConnManager(SchemeRegistry schreg, long connTTL, TimeUnit connTTLTimeUnit, ConnPerRouteBean connPerRoute)` 已过时。 创建一个新的线程安全连接管理器。

  - ### 方法摘要

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `closeExpiredConnections()` 已过时。 关闭池中的所有过期连接。
    `void` | `closeIdleConnections(long idleTimeout, TimeUnit tunit)` 已过时。 关闭池中的空闲连接。
    `protected ClientConnectionOperator` | `createConnectionOperator(SchemeRegistry schreg)` 已过时。 钩子用于创建连接运算符。
    `protected AbstractConnPool` | `createConnectionPool(HttpParams params)` 已过时。 （4.1）使用#createConnectionPool（long，TimeUnit））
    `protected ConnPoolByRoute` | `createConnectionPool(long connTTL, TimeUnit connTTLTimeUnit)` 已过时。 挂钩创建连接池。
    `protected void` | `finalize()` 已过时。
    `int` | `getConnectionsInPool()` 已过时。 获取池连接的总数。
    `int` | `getConnectionsInPool(HttpRoute route)` 已过时。 获取给定路由的总共连接数。
    `int` | `getDefaultMaxPerRoute()` 已过时。
    `int` | `getMaxForRoute(HttpRoute route)` 已过时。
    `int` | `getMaxTotal()` 已过时。 自4.1
    `SchemeRegistry` | `getSchemeRegistry()` 已过时。 获得该经理使用的方案注册表。
    `void` | `releaseConnection(ManagedClientConnection conn, long validDuration, TimeUnit timeUnit)` 已过时。 释放其他人使用的连接。
    `ClientConnectionRequest` | `requestConnection(HttpRoute route, Object state)` 已过时。 返回一个新的`ClientConnectionRequest` ，从中可以获得`ManagedClientConnection`或请求可以中止。
    `void` | `setDefaultMaxPerRoute(int max)` 已过时。
    `void` | `setMaxForRoute(HttpRoute route, int max)` 已过时。
    `void` | `setMaxTotal(int max)` 已过时。 自4.1
    `void` | `shutdown()` 已过时。 关闭此连接管理器并释放分配的资源。

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 字段详细信息

    - #### schemeRegistry

          protected final SchemeRegistry schemeRegistry

      已过时。
      该连接管理器支持的方案。

    - #### connectionPool

          protected final AbstractConnPool connectionPool

      已过时。

    - #### pool

          protected final ConnPoolByRoute pool

      已过时。
      正在管理的连接池。

    - #### connOperator

          protected final ClientConnectionOperator connOperator

      已过时。
      用于打开和更新连接的操作员。

    - #### connPerRoute

          protected final ConnPerRouteBean connPerRoute

      已过时。

  - ### 构造方法详细信息

    - #### ThreadSafeClientConnManager

          public ThreadSafeClientConnManager(SchemeRegistry schreg)

      已过时。
      创建一个新的线程安全连接管理器。
      参数
        `schreg` - 方案注册表。

    - #### ThreadSafeClientConnManager

          public ThreadSafeClientConnManager()

      已过时。
      从以下版本开始：
        4.1

    - #### ThreadSafeClientConnManager

          public ThreadSafeClientConnManager(SchemeRegistry schreg,
                                     long connTTL,
                                     TimeUnit connTTLTimeUnit)

      已过时。
      创建一个新的线程安全连接管理器。
      参数
        `schreg` - 方案注册表。
        `connTTL` - 最大连接寿命，<= 0表示“无限远”
        `connTTLTimeUnit` - `connTTLTimeUnit` TimeUnit
      从以下版本开始：
        4.1

    - #### ThreadSafeClientConnManager

          public ThreadSafeClientConnManager(SchemeRegistry schreg,
                                     long connTTL,
                                     TimeUnit connTTLTimeUnit,
                                     ConnPerRouteBean connPerRoute)

      已过时。
      创建一个新的线程安全连接管理器。
      参数
        `schreg` - 方案注册表。
        `connTTL` - 最大连接寿命，<= 0表示“无限远”
        `connTTLTimeUnit` - `connTTLTimeUnit` TimeUnit
        `connPerRoute` - 映射每个路由的最大连接，作为依赖关系提供，因此可以从外部进行管理，例如动态连接池大小管理。
      从以下版本开始：
        4.2

    - #### ThreadSafeClientConnManager

          @Deprecated
          public ThreadSafeClientConnManager(HttpParams params,
                                                SchemeRegistry schreg)

      已过时。 （4.1）使用`ThreadSafeClientConnManager(SchemeRegistry)`
      创建一个新的线程安全连接管理器。
      参数
        `params` - 该经理的参数。
        `schreg` - 方案注册表。

  - ### 方法详细信息

    - #### finalize

          protected void finalize()
                           throws Throwable

      已过时。
      重写：
        `finalize`在 `Object`
      异常
        `Throwable`

    - #### createConnectionPool

          @Deprecated
          protected AbstractConnPool createConnectionPool(HttpParams params)

      已过时。 （4.1）使用#createConnectionPool（long，TimeUnit））
      挂钩创建连接池。
      结果
        连接池要使用

    - #### createConnectionPool

          protected ConnPoolByRoute createConnectionPool(long connTTL,
                                             TimeUnit connTTLTimeUnit)

      已过时。
      挂钩创建连接池。
      结果
        连接池要使用
      从以下版本开始：
        4.1

    - #### createConnectionOperator

          protected ClientConnectionOperator createConnectionOperator(SchemeRegistry schreg)

      已过时。
      钩子用于创建连接运算符。 它由构造函数调用。 派生类可以覆盖此方法来更改运算符的实例化。 这里的默认实现是`DefaultClientConnectionOperator` 。
      参数
        `schreg` - 方案注册表。
      结果
        连接运算符使用

    - #### getSchemeRegistry

          public SchemeRegistry getSchemeRegistry()

      已过时。
      描述从接口`ClientConnectionManager`复制
      获得该经理使用的方案注册表。
      Specified by:
        `getSchemeRegistry`在接口 `ClientConnectionManager`
      结果
        方案注册表，从不 `null`

    - #### requestConnection

          public ClientConnectionRequest requestConnection(HttpRoute route,
                                                  Object state)

      已过时。
      描述从接口`ClientConnectionManager`复制
      返回一个新的`ClientConnectionRequest` ，从中可以获得`ManagedClientConnection`或请求可以中止。
      Specified by:
        `requestConnection`在接口 `ClientConnectionManager`

    - #### releaseConnection

          public void releaseConnection(ManagedClientConnection conn,
                               long validDuration,
                               TimeUnit timeUnit)

      已过时。
      描述从接口`ClientConnectionManager`复制
      释放其他人使用的连接。 您可以选择指定连接有效重复使用的时间。 值<= 0被认为是永久有效的。 如果连接未被标记为可重用，则连接将不会重复使用，无论有效持续时间如何。 如果连接已经被释放，则呼叫将被忽略。
      Specified by:
        `releaseConnection`在接口 `ClientConnectionManager`
      参数
        `conn` - 要发布的连接
        `validDuration` - 此连接有效重用的持续时间
        `timeUnit` - 测量时间的有效期的单位
      另请参见：
        `ClientConnectionManager.closeExpiredConnections()`

    - #### shutdown

          public void shutdown()

      已过时。
      描述从接口`ClientConnectionManager`复制
      关闭此连接管理器并释放分配的资源。 这包括关闭所有连接，无论它们是否被使用。
      Specified by:
        `shutdown`在接口 `ClientConnectionManager`

    - #### getConnectionsInPool

          public int getConnectionsInPool(HttpRoute route)

      已过时。
      获取给定路由的总共连接数。 这是此连接管理器为路由创建并仍在使用的连接总数。 该值不会超过每个主机的最大连接数。
      参数
        `route` - 有问题的路线
      结果
        该路由的合并连接总数

    - #### getConnectionsInPool

          public int getConnectionsInPool()

      已过时。
      获取池连接的总数。 这是此连接管理器已创建并仍在使用的连接总数。 该值不会超过最大连接数。
      结果
        总共连接数

    - #### closeIdleConnections

          public void closeIdleConnections(long idleTimeout,
                                  TimeUnit tunit)

      已过时。
      描述从接口`ClientConnectionManager`复制
      关闭池中的空闲连接。 在参数中给出的时间段中未使用的池中的打开连接将被关闭。 目前分配的连接不受此方法的约束。 时间将以毫秒精度检查所有过期的连接也将关闭。
      Specified by:
        `closeIdleConnections`在接口 `ClientConnectionManager`
      参数
        `idleTimeout` - 要关闭连接的空闲时间
        `tunit` -为对所述单元 `idletime`
      另请参见：
        `ClientConnectionManager.closeExpiredConnections()`

    - #### closeExpiredConnections

          public void closeExpiredConnections()

      已过时。
      描述从接口`ClientConnectionManager`复制
      关闭池中的所有过期连接。 在连接被释放时定义的时间段中尚未使用的池中的打开连接将被关闭。 目前分配的连接不受此方法的约束。 时间将以毫秒精度检查。
      Specified by:
        `closeExpiredConnections`在接口 `ClientConnectionManager`

    - #### getMaxTotal

          public int getMaxTotal()

      已过时。
      自4.1

    - #### setMaxTotal

          public void setMaxTotal(int max)

      已过时。
      自4.1

    - #### getDefaultMaxPerRoute

          public int getDefaultMaxPerRoute()

      已过时。
      从以下版本开始：
        4.1

    - #### setDefaultMaxPerRoute

          public void setDefaultMaxPerRoute(int max)

      已过时。
      从以下版本开始：
        4.1

    - #### getMaxForRoute

          public int getMaxForRoute(HttpRoute route)

      已过时。
      从以下版本开始：
        4.1

    - #### setMaxForRoute

          public void setMaxForRoute(HttpRoute route,
                            int max)

      已过时。
      从以下版本开始：
        4.1

Copyright © 1999–2017 The Apache Software Foundation. All rights reserved.

本帮助文档是使用 《谷歌翻译》翻译，请与英文版配合使用 by--QQ:654638585