diff --git a/xservice-common/src/main/java/com/xiang/xservice/basic/utils/HttpUtils.java b/xservice-common/src/main/java/com/xiang/xservice/basic/utils/HttpUtils.java index f428332..60399d9 100644 --- a/xservice-common/src/main/java/com/xiang/xservice/basic/utils/HttpUtils.java +++ b/xservice-common/src/main/java/com/xiang/xservice/basic/utils/HttpUtils.java @@ -26,11 +26,15 @@ import java.util.concurrent.TimeUnit; @Slf4j public class HttpUtils { - private static final int socketTimeOut = 5000; + private static final int socketTimeOut = 10000; private static final int connectTimeout = 10000; private static final int connectionRequestTimeout = 3000; - private static final int defaultMaxPerRoute = 20; - private static final int maxTotal = 100; + private static final int defaultMaxPerRoute = 100; + private static final int maxTotal = 200; + + private static final int LIVE_TIME = 5000; + + private static final int ALIVE_STRATEGY = 30000; private static final RequestConfig requestConfig = RequestConfig.custom() .setConnectTimeout(connectTimeout) @@ -48,12 +52,15 @@ public class HttpUtils { connectionManager.setMaxTotal(maxTotal); // 每个主机的最大连接数 connectionManager.setDefaultMaxPerRoute(defaultMaxPerRoute); + connectionManager.setValidateAfterInactivity(LIVE_TIME); + httpClient = HttpClients.custom() .setConnectionManager(connectionManager) .setDefaultRequestConfig(requestConfig) // 清理空闲连接 .evictIdleConnections(30, TimeUnit.SECONDS) + .setKeepAliveStrategy((response, context) -> ALIVE_STRATEGY) .build(); }