希望可以动态更新配置,比如商户的api秘钥和证书修改了,不重启可以修改对应的配置
Closed this issue · 6 comments
ttddss commented
ttddss commented
是否我只要把provider的httpclient重新创建一个新的就好了
xy-peng commented
微信配置是放在数据库的
【微信配置】是指微信支付平台证书?还是商户API私钥、商户API证书序列号?从你提到的内容来看,应该是商户API私钥配置,然后走自动下载微信支付平台证书吧。
是否我只要把provider的httpclient重新创建一个新的就好了
目前不行,因为只能根据之前的配置下载微信支付平台证书。
如何解决你的问题呢?之前考虑过这种情况,不过先要手写的代码有些多:先实现 Signer
从远程数据库取配置,然后把它注入 Credential
,再拿着 Credential
得到 RSAAutoCertificateProvider
,进而得到 Validator
,最后再构造 HttpClient
。
晚点我提供一个辅助的 Config
类,让过程变得简单,找个时间写一个指南放到 wiki 上吧。
ttddss commented
好的
ttddss commented
xy-peng commented
你遗漏了 certificateProvider
。
设计是 Config 对象不可变的。通过反射改变的话,我不敢保证没问题。
ttddss commented
certificateProvider我也更新了对应的httpClient和aeadCipher属性