org.apache.http.impl.conn.tsccm

## Class ConnPoolByRoute

- java.lang.Object
- - org.apache.http.impl.conn.tsccm.AbstractConnPool
  - - org.apache.http.impl.conn.tsccm.ConnPoolByRoute

- 已过时。
  （4.2）使用`AbstractConnPool`

      @Deprecated
      public class ConnPoolByRoute
      extends AbstractConnPool

  通过路由维护连接的连接池。 这个类派生自HttpClient 3.x中的`MultiThreadedHttpConnectionManager` ，见原作者。 它实现了连接重用和连接每个主机强制的相同算法：
  - 连接只能用于完全相同的路由
  - 每个路由而不是每个主机执行连接限制
  请注意，通过基类中的`poolLock`进行池数据结构的访问，而不是通过`synchronized`方法进行访问。
  从以下版本开始：
    4

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ConnPerRoute` | `connPerRoute` 已过时。 每个路由查找连接
    `protected Queue<BasicPoolEntry>` | `freeConnections` 已过时。 免费连接列表
    `protected Set<BasicPoolEntry>` | `leasedConnections` 已过时。 参考发出的连接
    `protected int` | `maxTotalConnections` 已过时。
    `protected int` | `numConnections` 已过时。
    `protected ClientConnectionOperator` | `operator` 已过时。 此池的连接运算符
    `protected Map<HttpRoute,RouteSpecificPool>` | `routeToPool` 已过时。 路线专用池的映射
    `protected boolean` | `shutdown` 已过时。
    `protected Queue<WaitingThread>` | `waitingThreads` 已过时。 WaitingThreads等待连接的列表

    - ### Fields inherited from class org.apache.http.impl.conn.tsccm.AbstractConnPool

      `idleConnHandler, isShutDown, issuedConnections, refQueue`

  - ### 构造方法摘要

    构造方法
    Constructor and Description
    `ConnPoolByRoute(ClientConnectionOperator operator, ConnPerRoute connPerRoute, int maxTotalConnections)` 已过时。 创建一个新的连接池，由路由管理。
    `ConnPoolByRoute(ClientConnectionOperator operator, ConnPerRoute connPerRoute, int maxTotalConnections, long connTTL, TimeUnit connTTLTimeUnit)` 已过时。
    `ConnPoolByRoute(ClientConnectionOperator operator, HttpParams params)` 已过时。 （4.1）使用`ConnPoolByRoute(ClientConnectionOperator, ConnPerRoute, int)`

  - ### 方法摘要

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `closeExpiredConnections()` 已过时。
    `void` | `closeIdleConnections(long idletime, TimeUnit tunit)` 已过时。 关闭空闲连接。
    `protected BasicPoolEntry` | `createEntry(RouteSpecificPool rospl, ClientConnectionOperator op)` 已过时。 创建一个新的池条目。
    `protected Queue<BasicPoolEntry>` | `createFreeConnQueue()` 已过时。 创建队列 `freeConnections` 。
    `protected Map<HttpRoute,RouteSpecificPool>` | `createRouteToPoolMap()` 已过时。 创建 `routeToPool`的地图。
    `protected Queue<WaitingThread>` | `createWaitingThreadQueue()` 已过时。 创建队列为 `waitingThreads` 。
    `void` | `deleteClosedConnections()` 已过时。 删除所有连接关闭的条目。
    `protected void` | `deleteEntry(BasicPoolEntry entry)` 已过时。 删除给定的池条目。
    `protected void` | `deleteLeastUsedEntry()` 已过时。 删除一个旧的，免费的池条目，为新的空间腾出空间。
    `void` | `freeEntry(BasicPoolEntry entry, boolean reusable, long validDuration, TimeUnit timeUnit)` 已过时。 返回到池中的条目。
    `int` | `getConnectionsInPool()` 已过时。
    `int` | `getConnectionsInPool(HttpRoute route)` 已过时。
    `protected BasicPoolEntry` | `getEntryBlocking(HttpRoute route, Object state, long timeout, TimeUnit tunit, WaitingThreadAborter aborter)` 已过时。 在给定的超时内获取连接的池条目。
    `protected BasicPoolEntry` | `getFreeEntry(RouteSpecificPool rospl, Object state)` 已过时。 如果可用，请获取路线的空闲池条目。
    `protected Lock` | `getLock()` 已过时。
    `int` | `getMaxTotalConnections()` 已过时。 自4.1
    `protected RouteSpecificPool` | `getRoutePool(HttpRoute route, boolean create)` 已过时。 获取可用连接的路由特定池。
    `protected void` | `handleLostEntry(HttpRoute route)` 已过时。
    `protected RouteSpecificPool` | `newRouteSpecificPool(HttpRoute route)` 已过时。 创建一个新的路由特定池。
    `protected WaitingThread` | `newWaitingThread(Condition cond, RouteSpecificPool rospl)` 已过时。 创建一个新的等待线程。
    `protected void` | `notifyWaitingThread(RouteSpecificPool rospl)` 已过时。 通知等待线程连接可用。
    `PoolEntryRequest` | `requestPoolEntry(HttpRoute route, Object state)` 已过时。 返回一个新的`PoolEntryRequest` ，从中可以获得`BasicPoolEntry` ，或者请求可以中止。
    `void` | `setMaxTotalConnections(int max)` 已过时。 自4.1
    `void` | `shutdown()` 已过时。 关闭此池和所有相关资源。

    - ### Methods inherited from class org.apache.http.impl.conn.tsccm.AbstractConnPool

      `closeConnection, enableConnectionGC, getEntry, handleReference`

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

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

- - ### 字段详细信息

    - #### operator

          protected final ClientConnectionOperator operator

      已过时。
      此池的连接运算符

    - #### connPerRoute

          protected final ConnPerRoute connPerRoute

      已过时。
      每个路由查找连接

    - #### leasedConnections

          protected final Set<BasicPoolEntry> leasedConnections

      已过时。
      参考发出的连接

    - #### freeConnections

          protected final Queue<BasicPoolEntry> freeConnections

      已过时。
      免费连接列表

    - #### waitingThreads

          protected final Queue<WaitingThread> waitingThreads

      已过时。
      WaitingThreads等待连接的列表

    - #### routeToPool

          protected final Map<HttpRoute,RouteSpecificPool> routeToPool

      已过时。
      路线专用池的映射

    - #### shutdown

          protected volatile boolean shutdown

      已过时。

    - #### maxTotalConnections

          protected volatile int maxTotalConnections

      已过时。

    - #### numConnections

          protected volatile int numConnections

      已过时。

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

    - #### ConnPoolByRoute

          public ConnPoolByRoute(ClientConnectionOperator operator,
                         ConnPerRoute connPerRoute,
                         int maxTotalConnections)

      已过时。
      创建一个新的连接池，由路由管理。
      从以下版本开始：
        4.1

    - #### ConnPoolByRoute

          public ConnPoolByRoute(ClientConnectionOperator operator,
                         ConnPerRoute connPerRoute,
                         int maxTotalConnections,
                         long connTTL,
                         TimeUnit connTTLTimeUnit)

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

    - #### ConnPoolByRoute

          @Deprecated
          public ConnPoolByRoute(ClientConnectionOperator operator,
                                    HttpParams params)

      已过时。 （4.1）使用`ConnPoolByRoute(ClientConnectionOperator, ConnPerRoute, int)`
      创建一个新的连接池，由路由管理。

  - ### 方法详细信息

    - #### getLock

          protected Lock getLock()

      已过时。

    - #### createFreeConnQueue

          protected Queue<BasicPoolEntry> createFreeConnQueue()

      已过时。
      创建队列为`freeConnections` 。 由构造函数调用一次。
      结果
        一个队列

    - #### createWaitingThreadQueue

          protected Queue<WaitingThread> createWaitingThreadQueue()

      已过时。
      创建队列`waitingThreads` 。 由构造函数调用一次。
      结果
        一个队列

    - #### createRouteToPoolMap

          protected Map<HttpRoute,RouteSpecificPool> createRouteToPoolMap()

      已过时。
      创建`routeToPool`的地图。 由构造函数调用一次。
      结果
        一张地图

    - #### newRouteSpecificPool

          protected RouteSpecificPool newRouteSpecificPool(HttpRoute route)

      已过时。
      创建一个新的路由特定池。 如有需要请致电`getRoutePool(org.apache.http.conn.routing.HttpRoute, boolean)` 。
      参数
        `route` - 路线
      结果
        新的游泳池

    - #### newWaitingThread

          protected WaitingThread newWaitingThread(Condition cond,
                                       RouteSpecificPool rospl)

      已过时。
      创建一个新的等待线程。 如有需要请致电`getRoutePool(org.apache.http.conn.routing.HttpRoute, boolean)` 。
      参数
        `cond` - 等待的条件
        `rospl` - 路由特定池，或 `null`
      结果
        等待线程表示

    - #### getRoutePool

          protected RouteSpecificPool getRoutePool(HttpRoute route,
                                       boolean create)

      已过时。
      获取可用连接的路由特定池。
      参数
        `route` - 路线
        `create` - 是否创建池（如果不存在）
      结果
        该池为参考路由，从不 `null`如果 `create`是 `true`

    - #### getConnectionsInPool

          public int getConnectionsInPool(HttpRoute route)

      已过时。

    - #### getConnectionsInPool

          public int getConnectionsInPool()

      已过时。

    - #### requestPoolEntry

          public PoolEntryRequest requestPoolEntry(HttpRoute route,
                                          Object state)

      已过时。
      描述从类别`AbstractConnPool`复制
      返回一个新的`PoolEntryRequest` ，从中可以获得`BasicPoolEntry` ，或者请求可以中止。
      Specified by:
        `requestPoolEntry`在 `AbstractConnPool`
      参数
        `route` - 路线
        `state` - 状态
      结果
        入场请求

    - #### getEntryBlocking

          protected BasicPoolEntry getEntryBlocking(HttpRoute route,
                                        Object state,
                                        long timeout,
                                        TimeUnit tunit,
                                        WaitingThreadAborter aborter)
                                             throws ConnectionPoolTimeoutException,
                                                    InterruptedException

      已过时。
      在给定的超时内获取连接的池条目。 如果一个`WaitingThread`被用来阻塞， `WaitingThreadAborter.setWaitingThread(WaitingThread)`必须在阻塞之前调用，才允许线程中断。
      参数
        `route` - 获取连接的路由
        `timeout` - 超时，0或否定超时
        `tunit` -为对所述单元 `timeout` ，可以是 `null`只有如果没有超时
        `aborter` - 一个可以中止`WaitingThread`的对象。
      结果
        池条目持有该路由的连接
      异常
        `ConnectionPoolTimeoutException` - 如果超时过期
        `InterruptedException` - 如果调用线程中断

    - #### freeEntry

          public void freeEntry(BasicPoolEntry entry,
                       boolean reusable,
                       long validDuration,
                       TimeUnit timeUnit)

      已过时。
      描述从类别`AbstractConnPool`复制
      返回到池中的条目。 预期条目的连接处于合适的状态，打开和重新使用或关闭。 游泳池不会尝试确定是否可以重新使用。
      Specified by:
        `freeEntry`在类 `AbstractConnPool`
      参数
        `entry` - 释放连接的条目
        `reusable` - `true`如果该条目被视为可重用，否则为 `false` 。
        `validDuration` - 条目应保持自由和可重用的持续时间。
        `timeUnit` - 测量持续时间的时间单位

    - #### getFreeEntry

          protected BasicPoolEntry getFreeEntry(RouteSpecificPool rospl,
                                    Object state)

      已过时。
      如果可用，请获取路线的空闲池条目。
      参数
        `rospl` - 从中获取条目的路由特定池
      结果
        给定路由的可用池条目，如果没有可用池条目， `null`

    - #### createEntry

          protected BasicPoolEntry createEntry(RouteSpecificPool rospl,
                                   ClientConnectionOperator op)

      已过时。
      创建一个新的池条目。 这种方法假定新的连接将立即发出。
      参数
        `rospl` - 要为其创建条目的路由特定池
        `op` - 创建连接的操作员
      结果
        新连接的新池条目

    - #### deleteEntry

          protected void deleteEntry(BasicPoolEntry entry)

      已过时。
      删除给定的池条目。 这将关闭pooled连接并删除所有引用，以便可以GCed。

      注意：不从freeConnections列表中删除该条目。 假定主叫方已经处理了这一步。

      参数
        `entry` - 要删除的连接的池条目

    - #### deleteLeastUsedEntry

          protected void deleteLeastUsedEntry()

      已过时。
      删除一个旧的，免费的池条目，为新的空间腾出空间。 用于替换不同路由的池条目。

    - #### handleLostEntry

          protected void handleLostEntry(HttpRoute route)

      已过时。
      Specified by:
        `handleLostEntry`在 `AbstractConnPool`

    - #### notifyWaitingThread

          protected void notifyWaitingThread(RouteSpecificPool rospl)

      已过时。
      通知等待线程连接可用。 这将唤醒线程在特定路由池中等待，如果有的话。 否则，将通知连接池中的线程。
      参数
        `rospl` - 要通知的池，或 `null`

    - #### deleteClosedConnections

          public void deleteClosedConnections()

      已过时。
      描述从类别`AbstractConnPool`复制
      删除所有连接关闭的条目。
      Specified by:
        `deleteClosedConnections`在 `AbstractConnPool`

    - #### closeIdleConnections

          public void closeIdleConnections(long idletime,
                                  TimeUnit tunit)

      已过时。
      关闭空闲连接。
      重写：
        `closeIdleConnections`在类 `AbstractConnPool`
      参数
        `idletime` - 连接应该空闲的时间，以便现在关闭
        `tunit` - 单位为 `idletime`

    - #### closeExpiredConnections

          public void closeExpiredConnections()

      已过时。
      重写：
        `closeExpiredConnections`在 `AbstractConnPool`

    - #### shutdown

          public void shutdown()

      已过时。
      描述从类别`AbstractConnPool`复制
      关闭此池和所有相关资源。 覆盖方法必须在这里调用实现！
      重写：
        `shutdown`在 `AbstractConnPool`

    - #### setMaxTotalConnections

          public void setMaxTotalConnections(int max)

      已过时。
      自4.1

    - #### getMaxTotalConnections

          public int getMaxTotalConnections()

      已过时。
      自4.1

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

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