diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/utilities/AdminHttpUtils.java b/sdk/src/main/java/cn/wildfirechat/sdk/utilities/AdminHttpUtils.java index f3ed762e..fa6470f5 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/utilities/AdminHttpUtils.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/utilities/AdminHttpUtils.java @@ -38,11 +38,24 @@ public class AdminHttpUtils extends JsonUtils { private static CloseableHttpClient httpClient; public static void init(String url, String secret) { + init(url, secret, 15000); + } + + public static void init(String url, String secret, int timeout) { adminUrl = url.trim(); adminSecret = secret.trim(); PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); cm.setValidateAfterInactivity(1000); + int connectTimeout = 5000; // 连接超时时间 + int connectionRequestTimeout = 3000; // 从连接池获取连接的超时时间 + RequestConfig requestConfig = RequestConfig.custom() + .setConnectTimeout(connectTimeout) + .setSocketTimeout(timeout) + .setConnectionRequestTimeout(connectionRequestTimeout) + .build(); + httpClient = HttpClients.custom() + .setDefaultRequestConfig(requestConfig) .setConnectionManager(cm) .evictExpiredConnections() .evictIdleConnections(60L, TimeUnit.SECONDS) diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/utilities/ChannelHttpUtils.java b/sdk/src/main/java/cn/wildfirechat/sdk/utilities/ChannelHttpUtils.java index b7307325..04801278 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/utilities/ChannelHttpUtils.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/utilities/ChannelHttpUtils.java @@ -8,6 +8,7 @@ import org.apache.commons.codec.digest.DigestUtils; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; +import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; @@ -40,7 +41,16 @@ public class ChannelHttpUtils extends JsonUtils { this.channelSecret = secret.trim(); PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); cm.setValidateAfterInactivity(1000); + int connectTimeout = 5000; // 连接超时时间 + int socketTimeout = 15000; // 请求超时时间 + int connectionRequestTimeout = 3000; // 从连接池获取连接的超时时间 + RequestConfig requestConfig = RequestConfig.custom() + .setConnectTimeout(connectTimeout) + .setSocketTimeout(socketTimeout) + .setConnectionRequestTimeout(connectionRequestTimeout) + .build(); httpClient = HttpClients.custom() + .setDefaultRequestConfig(requestConfig) .setConnectionManager(cm) .evictExpiredConnections() .evictIdleConnections(60L, TimeUnit.SECONDS) diff --git a/sdk/src/main/java/cn/wildfirechat/sdk/utilities/RobotHttpUtils.java b/sdk/src/main/java/cn/wildfirechat/sdk/utilities/RobotHttpUtils.java index 0db2fc98..cfecdb18 100644 --- a/sdk/src/main/java/cn/wildfirechat/sdk/utilities/RobotHttpUtils.java +++ b/sdk/src/main/java/cn/wildfirechat/sdk/utilities/RobotHttpUtils.java @@ -9,6 +9,7 @@ import org.apache.commons.codec.digest.DigestUtils; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; +import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; @@ -41,7 +42,16 @@ public class RobotHttpUtils extends JsonUtils { this.robotSecret = robotSecret.trim(); PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); cm.setValidateAfterInactivity(1000); + int connectTimeout = 5000; // 连接超时时间 + int socketTimeout = 15000; // 请求超时时间 + int connectionRequestTimeout = 3000; // 从连接池获取连接的超时时间 + RequestConfig requestConfig = RequestConfig.custom() + .setConnectTimeout(connectTimeout) + .setSocketTimeout(socketTimeout) + .setConnectionRequestTimeout(connectionRequestTimeout) + .build(); httpClient = HttpClients.custom() + .setDefaultRequestConfig(requestConfig) .setConnectionManager(cm) .evictExpiredConnections() .evictIdleConnections(60L, TimeUnit.SECONDS)