RSAAutoCertificateConfig如果后续的Service设计是单例,那么RSAAutoCertificateConfig的自动更新貌似无法影响到Service
Closed this issue · 0 comments
ops-xu commented
错误描述
@Bean
public Config config(WechatPayConfigProperties wechatPayConfigProperties) {
return new RSAAutoCertificateConfig.Builder()
.merchantId(wechatPayConfigProperties.getMchId())
.privateKeyFromPath(wechatPayConfigProperties.getPrivateKeyPath())
.merchantSerialNumber(wechatPayConfigProperties.getMerchantSerialNumber())
.apiV3Key(wechatPayConfigProperties.getApiV3Key())
.build();
}
/**
* @param config
* @return
*/
@Bean
public AppServiceExtension appServiceExtension(Config config) {
return new AppServiceExtension.Builder().config(config).build();
}
代码同上,自动更新配置在AppServiceExtension
为单例时,后续直接使用AppServiceExtension
即使RSAAutoCertificateConfig
更新了,AppServiceExtension
也会跟着重新config吗?如果不会的话,那对应的Service是不是都不能使用单例了,必须每次使用时new。
重现bug的步骤
@Bean
public Config config(WechatPayConfigProperties wechatPayConfigProperties) {
return new RSAAutoCertificateConfig.Builder()
.merchantId(wechatPayConfigProperties.getMchId())
.privateKeyFromPath(wechatPayConfigProperties.getPrivateKeyPath())
.merchantSerialNumber(wechatPayConfigProperties.getMerchantSerialNumber())
.apiV3Key(wechatPayConfigProperties.getApiV3Key())
.build();
}
/**
* @param config
* @return
*/
@Bean
public AppServiceExtension appServiceExtension(Config config) {
return new AppServiceExtension.Builder().config(config).build();
}
预期行为
各Service单例化
导致错误的代码片段
@Bean
public Config config(WechatPayConfigProperties wechatPayConfigProperties) {
return new RSAAutoCertificateConfig.Builder()
.merchantId(wechatPayConfigProperties.getMchId())
.privateKeyFromPath(wechatPayConfigProperties.getPrivateKeyPath())
.merchantSerialNumber(wechatPayConfigProperties.getMerchantSerialNumber())
.apiV3Key(wechatPayConfigProperties.getApiV3Key())
.build();
}
/**
* @param config
* @return
*/
@Bean
public AppServiceExtension appServiceExtension(Config config) {
return new AppServiceExtension.Builder().config(config).build();
}
### 操作系统
macOs
### Java 版本
Java 17
### wechatpay-java 版本
v0.2.7
### 其他信息
_No response_