HttpComponents 之客户端连接池

1.配置参数

org.apache.http.impl.conn.PoolingHttpClientConnectionManager

类。用于管理httpClient连接池。调用默认构造函数即可得到。

org.apache.http.impl.conn.PoolingHttpClientConnectionManager.setMaxTotal(int max)

设置最大的连接数,即tcp连接数。

 void org.apache.http.impl.conn.PoolingHttpClientConnectionManager.setDefaultMaxPerRoute(int max)

设置每个路由的默认最大连接数。默认为2。也就是说你连qq.com:80的tcp个数最多为2。

void org.apache.http.impl.conn.PoolingHttpClientConnectionManager.setMaxPerRoute(HttpRoute route, int max)

设置指定路由的最大连接数。

2.拿到httpClient

HttpClientBuilder org.apache.http.impl.client.HttpClients.custom()

拿到HttpClientBuilder 。

HttpClientBuilder org.apache.http.impl.client.HttpClientBuilder.setConnectionManager(HttpClientConnectionManager connManager)

将PoolingHttpClientConnectionManager对象传进去。注意返回类型,可链式调用。

HttpClientBuilder org.apache.http.impl.client.HttpClientBuilder.setDefaultRequestConfig(RequestConfig config)

将RequestConfig对象传进去。

CloseableHttpClient org.apache.http.impl.client.HttpClientBuilder.build()

至此拿到了httpClient对象。它是线程安全的。


3.示例代码


你可能感兴趣的:(HttpComponents 之客户端连接池)