我需要能够在CloseAbleHttpClient中修改超时设置。这是我设置不同超时的方法:
RequestConfig config = RequestConfig.copy(RequestConfig.DEFAULT)
.setConnectTimeout(timeout)
.setSocketTimeout(timeout)
.setConnectionRequestTimeout(managerTimeout)
.build();
httpClient = HttpClients.custom()
.setConnectionManager(connectionManager)
.setDefaultRequestConfig(config)
.build();
我是否必须创建一个新的RequestConfig对象,并再次构建HttpClients.custom()来实现这一目标?我已经尝试过了,问题出在我需要我的CloseableHttpClient是最终版本。如果我将超时设置为2次,则无法实现。感谢您提供有关如何最好地修改timout属性的任何输入!
最佳答案
没有什么可以阻止您针对每个请求使用不同的请求配置
RequestConfig defaultRequestConfig = RequestConfig.custom()
.setConnectTimeout(timeout)
.setSocketTimeout(timeout)
.setConnectionRequestTimeout(managerTimeout)
.build();
CloseableHttpClient httpClient = HttpClients.custom()
.setConnectionManager(connectionManager)
.setDefaultRequestConfig(defaultRequestConfig)
.build();
RequestConfig requestConfig = RequestConfig.copy(defaultRequestConfig)
.setConnectTimeout(timeout * 2)
.setSocketTimeout(timeout * 2)
.setConnectionRequestTimeout(managerTimeout * 2)
.build();
HttpGet get = new HttpGet();
get.setConfig(requestConfig);