diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpConfigStorage.java b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpConfigStorage.java index 5f6e39f..646a0ec 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpConfigStorage.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpConfigStorage.java @@ -60,6 +60,10 @@ public class HttpConfigStorage { */ private String charset; + private int socketTimeout; + + private int connectTimeout; + /** * http代理地址 * @return http代理地址 @@ -193,4 +197,20 @@ public class HttpConfigStorage { public void setCharset(String charset) { this.charset = charset; } + + public int getSocketTimeout() { + return socketTimeout; + } + + public void setSocketTimeout(int socketTimeout) { + this.socketTimeout = socketTimeout; + } + + public int getConnectTimeout() { + return connectTimeout; + } + + public void setConnectTimeout(int connectTimeout) { + this.connectTimeout = connectTimeout; + } } diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java index 2c5b071..6453209 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java @@ -10,6 +10,7 @@ import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.CredentialsProvider; +import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.config.Registry; import org.apache.http.config.RegistryBuilder; @@ -43,7 +44,7 @@ import java.util.Map; */ public class HttpRequestTemplate { - protected final Log LOG = LogFactory.getLog(HttpRequestTemplate.class); + protected static final Log LOG = LogFactory.getLog(HttpRequestTemplate.class); protected CloseableHttpClient httpClient; @@ -75,6 +76,7 @@ public class HttpRequestTemplate { //设置httpclient的SSLSocketFactory .setSSLSocketFactory(createSSL(configStorage)) .setConnectionManager(connectionManager(configStorage)) + .setDefaultRequestConfig(createRequestConfig(configStorage)) .build(); if (null == connectionManager) { return this.httpClient = httpClient; @@ -84,6 +86,15 @@ public class HttpRequestTemplate { } + private RequestConfig createRequestConfig(HttpConfigStorage configStorage) { + RequestConfig requestConfig = RequestConfig.custom() + .setSocketTimeout(configStorage.getSocketTimeout()) + .setConnectTimeout(configStorage.getConnectTimeout()) +// .setConnectionRequestTimeout(1000) + .build(); + return requestConfig; + } + /** * 初始化 * @param configStorage 请求配置