public interface HttpClientConnectionManager
HTTP连接管理器的目的是作为新的HTTP连接的工厂,管理持久连接并同步对持久连接的访问,确保只有一个执行线程可以一次访问连接。
此接口的实现必须是线程安全的。 必须同步访问共享数据,因为可以从多个线程执行此接口的方法。
| Modifier and Type | Method and Description |
|---|---|
void |
closeExpiredConnections()
关闭池中的所有过期连接。
|
void |
closeIdleConnections(long idletime, TimeUnit tunit)
关闭池中的空闲连接。
|
void |
connect(HttpClientConnection conn, HttpRoute route, int connectTimeout, HttpContext context)
在直接路由的情况下将底层连接套接字连接到连接目标,或者通过代理(或多个代理)路由时将第一个代理跳转到第一个代理跳转。
|
void |
releaseConnection(HttpClientConnection conn, Object newState, long validDuration, TimeUnit timeUnit)
将连接释放给管理员,使其可以由其他用户重新使用。
|
ConnectionRequest |
requestConnection(HttpRoute route, Object state)
返回一个新的 ConnectionRequest ,从中可以获得HttpClientConnection或请求可以中止。
|
void |
routeComplete(HttpClientConnection conn, HttpRoute route, HttpContext context)
将连接标记为完全建立,并完成所有中间跳。
|
void |
shutdown()
关闭此连接管理器并释放分配的资源。
|
void |
upgrade(HttpClientConnection conn, HttpRoute route, HttpContext context)
将所有中间代理跳数执行
CONNECT方法后,将底层连接套接字升级到TLS / SSL(或其他分层协议)
|
ConnectionRequest requestConnection(HttpRoute route, Object state)
ConnectionRequest ,从中可以获得HttpClientConnection或请求可以中止。
请注意,新分配的连接可以在关闭状态返回。 该连接的消费者负责通过致电connect完全建立到连接目标的路由 ,以便直接连接到目标或第一代理跳,可选地在执行CONNECT方法之后调用upgrade方法来升级连接中间代理跳,最后呼叫routeComplete将路由标记为完全完成。
route - 请求的连接的HTTP路由。
state - 连接的预期状态或
null如果连接不预期携带任何状态。
void releaseConnection(HttpClientConnection conn, Object newState, long validDuration, TimeUnit timeUnit)
validDuration和timeUnit参数来定义管理员保持连接活动的validDuration timeUnit 。
conn - 要发布的受管连接。
validDuration - 此连接有效重用的持续时间。
timeUnit - 时间单位。
closeExpiredConnections()
void connect(HttpClientConnection conn, HttpRoute route, int connectTimeout, HttpContext context) throws IOException
conn - 受管连接。
route - 连接的路由。
connectTimeout - 以毫秒为单位的连接超时。
context - 实际的HTTP上下文。
IOException
void upgrade(HttpClientConnection conn, HttpRoute route, HttpContext context) throws IOException
CONNECT方法后,将底层连接套接字升级到TLS / SSL(或其他分层协议)
conn - 受管连接。
route - 连接的路由。
context - 实际的HTTP上下文。
IOException
void routeComplete(HttpClientConnection conn, HttpRoute route, HttpContext context) throws IOException
conn - 受管连接。
route - 连接的路由。
context - 实际的HTTP上下文。
IOException
void closeIdleConnections(long idletime,
TimeUnit tunit)
在参数中给出的时间段中未使用的池中的打开连接将被关闭。 目前分配的连接不受此方法的约束。 时间将以毫秒精度检查
所有过期的连接也将关闭。
idletime - 要关闭连接的空闲时间
tunit -为对所述单元
idletime
closeExpiredConnections()
void closeExpiredConnections()
在连接被释放时定义的时间段中尚未使用的池中的打开连接将被关闭。 目前分配的连接不受此方法的约束。 时间将以毫秒精度检查。
void shutdown()
Copyright © 1999–2017 The Apache Software Foundation. All rights reserved.