背景
采用线程池实现了HttpClient,为了避免每次请求都去创建一个新的线程池,我采用了单例的方式初始化了一个CloseableHttpClient,配置了超时时间,后来由于需求调整,需要部分请求配置更少的超时时间,最开始采用了笨办法解决,根据不同的超时时间建立不同的HttpClient。但是这样随着不同超时时间增加,httpclient版本越来越多,不利于代码维护。
RequestConfig defaultRequestConfig = RequestConfig.custom()
.setSocketTimeout(5000)
.setConnectTimeout(5000)
.setConnectionRequestTimeout(5000)
.setStaleConnectionCheckEnabled(true)
.build();
CloseableHttpClient httpclient = HttpClients.custom<