SDK添加超时配置
This commit is contained in:
@@ -38,11 +38,24 @@ public class AdminHttpUtils extends JsonUtils {
|
|||||||
private static CloseableHttpClient httpClient;
|
private static CloseableHttpClient httpClient;
|
||||||
|
|
||||||
public static void init(String url, String secret) {
|
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();
|
adminUrl = url.trim();
|
||||||
adminSecret = secret.trim();
|
adminSecret = secret.trim();
|
||||||
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
|
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
|
||||||
cm.setValidateAfterInactivity(1000);
|
cm.setValidateAfterInactivity(1000);
|
||||||
|
int connectTimeout = 5000; // 连接超时时间
|
||||||
|
int connectionRequestTimeout = 3000; // 从连接池获取连接的超时时间
|
||||||
|
RequestConfig requestConfig = RequestConfig.custom()
|
||||||
|
.setConnectTimeout(connectTimeout)
|
||||||
|
.setSocketTimeout(timeout)
|
||||||
|
.setConnectionRequestTimeout(connectionRequestTimeout)
|
||||||
|
.build();
|
||||||
|
|
||||||
httpClient = HttpClients.custom()
|
httpClient = HttpClients.custom()
|
||||||
|
.setDefaultRequestConfig(requestConfig)
|
||||||
.setConnectionManager(cm)
|
.setConnectionManager(cm)
|
||||||
.evictExpiredConnections()
|
.evictExpiredConnections()
|
||||||
.evictIdleConnections(60L, TimeUnit.SECONDS)
|
.evictIdleConnections(60L, TimeUnit.SECONDS)
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import org.apache.commons.codec.digest.DigestUtils;
|
|||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
import org.apache.http.HttpStatus;
|
import org.apache.http.HttpStatus;
|
||||||
import org.apache.http.client.HttpClient;
|
import org.apache.http.client.HttpClient;
|
||||||
|
import org.apache.http.client.config.RequestConfig;
|
||||||
import org.apache.http.client.methods.HttpPost;
|
import org.apache.http.client.methods.HttpPost;
|
||||||
import org.apache.http.entity.StringEntity;
|
import org.apache.http.entity.StringEntity;
|
||||||
import org.apache.http.impl.client.CloseableHttpClient;
|
import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
@@ -40,7 +41,16 @@ public class ChannelHttpUtils extends JsonUtils {
|
|||||||
this.channelSecret = secret.trim();
|
this.channelSecret = secret.trim();
|
||||||
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
|
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
|
||||||
cm.setValidateAfterInactivity(1000);
|
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()
|
httpClient = HttpClients.custom()
|
||||||
|
.setDefaultRequestConfig(requestConfig)
|
||||||
.setConnectionManager(cm)
|
.setConnectionManager(cm)
|
||||||
.evictExpiredConnections()
|
.evictExpiredConnections()
|
||||||
.evictIdleConnections(60L, TimeUnit.SECONDS)
|
.evictIdleConnections(60L, TimeUnit.SECONDS)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import org.apache.commons.codec.digest.DigestUtils;
|
|||||||
import org.apache.http.HttpResponse;
|
import org.apache.http.HttpResponse;
|
||||||
import org.apache.http.HttpStatus;
|
import org.apache.http.HttpStatus;
|
||||||
import org.apache.http.client.HttpClient;
|
import org.apache.http.client.HttpClient;
|
||||||
|
import org.apache.http.client.config.RequestConfig;
|
||||||
import org.apache.http.client.methods.HttpPost;
|
import org.apache.http.client.methods.HttpPost;
|
||||||
import org.apache.http.entity.StringEntity;
|
import org.apache.http.entity.StringEntity;
|
||||||
import org.apache.http.impl.client.CloseableHttpClient;
|
import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
@@ -41,7 +42,16 @@ public class RobotHttpUtils extends JsonUtils {
|
|||||||
this.robotSecret = robotSecret.trim();
|
this.robotSecret = robotSecret.trim();
|
||||||
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
|
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
|
||||||
cm.setValidateAfterInactivity(1000);
|
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()
|
httpClient = HttpClients.custom()
|
||||||
|
.setDefaultRequestConfig(requestConfig)
|
||||||
.setConnectionManager(cm)
|
.setConnectionManager(cm)
|
||||||
.evictExpiredConnections()
|
.evictExpiredConnections()
|
||||||
.evictIdleConnections(60L, TimeUnit.SECONDS)
|
.evictIdleConnections(60L, TimeUnit.SECONDS)
|
||||||
|
|||||||
Reference in New Issue
Block a user