【发布时间】:2015-06-07 04:16:24
【问题描述】:
我在我的一个项目中使用 Apache HttpClient。我也在使用PoolingHttpClientConnectionManager 以及我的 HttpClient。
我很困惑这些属性是什么意思。我尝试浏览代码中的文档,但我没有看到围绕这些变量的任何文档,因此无法理解。
- setMaxTotal
- setDefaultMaxPerRoute
- setConnectTimeout
- setSocketTimeout
- setConnectionRequestTimeout
- setStaleConnectionCheckEnabled
以下是我在代码中的使用方式:
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(5 * 1000).setSocketTimeout(5 * 1000)
.setStaleConnectionCheckEnabled(false).build();
PoolingHttpClientConnectionManager poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager();
poolingHttpClientConnectionManager.setMaxTotal(200);
poolingHttpClientConnectionManager.setDefaultMaxPerRoute(20);
CloseableHttpClient httpClientBuilder = HttpClientBuilder.create()
.setConnectionManager(poolingHttpClientConnectionManager).setDefaultRequestConfig(requestConfig)
.build();
谁能解释一下这些属性,以便我可以理解并决定我应该在那里输入什么值。另外,除了如上所示,我还应该使用其他属性来获得更好的性能吗?
我正在使用 http-client 4.3.1
【问题讨论】:
-
好吧,这怎么可能太宽泛了。我要问的问题应该有单行答案?
标签: java apache-httpclient-4.x