From 16823e77fa78f39e8232deb333321d6530d692ac Mon Sep 17 00:00:00 2001 From: Xiaoyu PENG Date: Mon, 6 Feb 2023 19:23:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20RSAAutoCertificateProvider=20=E6=9E=84?= =?UTF-8?q?=E9=80=A0=E6=97=B6=E4=BD=BF=E7=94=A8=E7=9A=84=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=81=9A=E9=98=B2=E5=BE=A1=E6=80=A7=E5=A4=8D=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RSAAutoCertificateProvider.java | 3 ++- .../core/http/AbstractHttpClientBuilder.java | 13 ++++++++++--- .../core/http/DefaultHttpClientBuilder.java | 18 ++++++++++++++++++ 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/com/wechat/pay/java/core/certificate/RSAAutoCertificateProvider.java b/core/src/main/java/com/wechat/pay/java/core/certificate/RSAAutoCertificateProvider.java index 6e1072f2..d24c6c5f 100644 --- a/core/src/main/java/com/wechat/pay/java/core/certificate/RSAAutoCertificateProvider.java +++ b/core/src/main/java/com/wechat/pay/java/core/certificate/RSAAutoCertificateProvider.java @@ -79,7 +79,8 @@ public Builder merchantSerialNumber(String merchantSerialNumber) { } public Builder httpClientBuilder(AbstractHttpClientBuilder builder) { - this.httpClientBuilder = builder; + // httpClientBuilder 不是不可变的,所以为了避免过程中修改入参或者值发生变化,这里制作了一个副本 + this.httpClientBuilder = builder.newInstance(); return this; } diff --git a/core/src/main/java/com/wechat/pay/java/core/http/AbstractHttpClientBuilder.java b/core/src/main/java/com/wechat/pay/java/core/http/AbstractHttpClientBuilder.java index 3b00fb5d..1f1b6164 100644 --- a/core/src/main/java/com/wechat/pay/java/core/http/AbstractHttpClientBuilder.java +++ b/core/src/main/java/com/wechat/pay/java/core/http/AbstractHttpClientBuilder.java @@ -5,11 +5,18 @@ public interface AbstractHttpClientBuilder> { + /** + * 复制工厂,复制一个当前对象 + * + * @return 对象的副本 + */ + T newInstance(); + /** * 设置验证器 * * @param validator 验证器 - * @return T the AbstractHttpClientBuilder + * @return the AbstractHttpClientBuilder */ T validator(Validator validator); @@ -17,12 +24,12 @@ public interface AbstractHttpClientBuilder