如何使用Apache httpclient 4. *和PoolingHttpClientConnectionManager为每个请求设置超时?

时间:2015-01-23 03:15:06

标签: java apache-httpclient-4.x connection-timeout

如何使用Apache httpclient 4.3和PoolingHttpClientConnectionManager并为每个请求传递ConnectTimeOut和ReadTimeOut。

例如, 如果我将CloseableHttpClient作为Singleton并使用PoolingHttpClientConnection获取连接,对于我做的每个请求,我想根据目标主机发送不同的超时值

即。 HostA 10秒,主持人B 5秒等

请指教。

1 个答案:

答案 0 :(得分:3)

HttpGet get1 = new HttpGet("http://hosta/");
RequestConfig config1 = RequestConfig.custom().setSocketTimeout(10000).build();
get1.setConfig(config1);
HttpGet get2 = new HttpGet("http://hostb/");
RequestConfig config2 = RequestConfig.custom().setSocketTimeout(5000).build();
get2.setConfig(config2);