From 1cf5e0b57f7461f29ff6fedb01f8aa1448aab9c5 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Mon, 31 May 2021 18:27:56 +0800 Subject: [PATCH] fix bug --- .../java/com/iformall/common/FmHttpClientBuilder.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/common/FmHttpClientBuilder.java b/mallinkService/src/main/java/com/iformall/common/FmHttpClientBuilder.java index 1ed1a3fc4..3922a3911 100644 --- a/mallinkService/src/main/java/com/iformall/common/FmHttpClientBuilder.java +++ b/mallinkService/src/main/java/com/iformall/common/FmHttpClientBuilder.java @@ -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)) { // 使用代理服务器 需要用户认证的代理服务器