From 55cd862b556b8fc66663b40f555604febc3e2725 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Sat, 8 Jul 2017 16:01:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=AF=B7=E6=B1=82=E5=A2=9E=E5=8A=A0=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=9A=84=E8=AE=BE=E7=BD=AE=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../binarywang/wxpay/config/WxPayConfig.java | 33 +++++++++++++++++++ .../wxpay/service/impl/WxPayServiceImpl.java | 10 ++++-- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/config/WxPayConfig.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/config/WxPayConfig.java index d05259ce..aeab939a 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/config/WxPayConfig.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/config/WxPayConfig.java @@ -18,6 +18,17 @@ import java.security.KeyStore; * @author Binary Wang (https://github.com/binarywang) */ public class WxPayConfig { + + /** + * http请求连接超时时间 + */ + private int httpConnectionTimeout = 5000; + + /** + * http请求数据读取等待时间 + */ + private int httpTimeout = 10000; + private String appId; private String subAppId; private String mchId; @@ -194,4 +205,26 @@ public class WxPayConfig { IOUtils.closeQuietly(inputStream); } } + + /** + * http请求连接超时时间 + */ + public int getHttpConnectionTimeout() { + return this.httpConnectionTimeout; + } + + public void setHttpConnectionTimeout(int httpConnectionTimeout) { + this.httpConnectionTimeout = httpConnectionTimeout; + } + + /** + * http请求数据读取等待时间 + */ + public int getHttpTimeout() { + return this.httpTimeout; + } + + public void setHttpTimeout(int httpTimeout) { + this.httpTimeout = httpTimeout; + } } diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceImpl.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceImpl.java index bcf425d7..a2b036e8 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceImpl.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceImpl.java @@ -465,9 +465,11 @@ public class WxPayServiceImpl implements WxPayService { * @return 返回请求结果 */ private String post(String url, String xmlParam) throws WxPayException { - String requestString = new String(xmlParam.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1); - - HttpRequest request = HttpRequest.post(url).body(requestString); + HttpRequest request = HttpRequest + .post(url) + .timeout(this.config.getHttpTimeout()) + .connectionTimeout(this.config.getHttpConnectionTimeout()) + .body(new String(xmlParam.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1)); String responseString = this.getResponseString(request.send()); this.log.info("\n【请求地址】: {}\n【请求参数】:{}\n【响应数据】:{}", url, xmlParam, responseString); @@ -489,6 +491,8 @@ public class WxPayServiceImpl implements WxPayService { HttpRequest request = HttpRequest .post(url) + .timeout(this.config.getHttpTimeout()) + .connectionTimeout(this.config.getHttpConnectionTimeout()) .withConnectionProvider(new SSLSocketHttpConnectionProvider(sslContext)) .bodyText(requestStr);