|
|
|
@@ -20,6 +20,7 @@ import org.apache.http.conn.socket.PlainConnectionSocketFactory; |
|
|
|
import org.apache.http.conn.ssl.SSLConnectionSocketFactory; |
|
|
|
import org.apache.http.impl.client.BasicCredentialsProvider; |
|
|
|
import org.apache.http.impl.client.CloseableHttpClient; |
|
|
|
import org.apache.http.impl.client.DefaultConnectionKeepAliveStrategy; |
|
|
|
import org.apache.http.impl.client.HttpClientBuilder; |
|
|
|
import org.apache.http.impl.client.HttpClients; |
|
|
|
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; |
|
|
|
@@ -245,13 +246,18 @@ public class FmHttpClientBuilder implements ApacheHttpClientBuilder { |
|
|
|
|
|
|
|
this.httpClientBuilder = HttpClients.custom().setConnectionManager(connectionManager) |
|
|
|
.setConnectionManagerShared(true) |
|
|
|
.setKeepAliveStrategy(DefaultConnectionKeepAliveStrategy.INSTANCE) |
|
|
|
.setDefaultRequestConfig( |
|
|
|
RequestConfig.custom() |
|
|
|
.setSocketTimeout(this.soTimeout) |
|
|
|
.setConnectTimeout(this.connectionTimeout) |
|
|
|
.setConnectionRequestTimeout(this.connectionRequestTimeout) |
|
|
|
.build()) |
|
|
|
.setRetryHandler(this.httpRequestRetryHandler); |
|
|
|
.setRetryHandler(this.httpRequestRetryHandler) |
|
|
|
.evictExpiredConnections() |
|
|
|
//MaxIdleTime 必须小于服务端的关闭时间否则有可能出现NoHttpResponse |
|
|
|
.evictIdleConnections(3,TimeUnit.SECONDS);//用来关闭闲置连接,它会启动一个守护线程进行清理工作。用户可以通过builder#evictIdleConnections开启该组件,并通过builder#setmaxIdleTime设置最大空闲时间。 |
|
|
|
; |
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(this.httpProxyHost) && StringUtils.isNotBlank(this.httpProxyUsername)) { |
|
|
|
// 使用代理服务器 需要用户认证的代理服务器 |
|
|
|
|