We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
使用时,请参考demo这里面
WxCpService wxCpService = new WxCpServiceImpl(); //这里要缓存 wxCpService.setWxCpConfigStorage(config); //传入微信配置信息不做重复 WxCpMessageRouter wxCpMessageRouter = new WxCpMessageRouter(wxCpService);
一般情况下 wxCpService 会作为缓存注入spring容器中. 故使用WxCpMessageRouter.route时,建源码: me.chanjar.weixin.mp.api.WxMpMessageRouter#route(me.chanjar.weixin.mp.bean.message.WxMpXmlMessage, java.util.Map<java.lang.String,java.lang.Object>, me.chanjar.weixin.mp.api.WxMpService) 212行
WxCpMessageRouter.route
me.chanjar.weixin.mp.api.WxMpMessageRouter#route(me.chanjar.weixin.mp.bean.message.WxMpXmlMessage, java.util.Map<java.lang.String,java.lang.Object>, me.chanjar.weixin.mp.api.WxMpService)
这里因为WxMpConfigStorageHolder.THREAD_LOCAL为set值,返回默认值default肯定是拿不到缓存的appid对应的wxCpService.
解决办法: 在自己程序代码使用wxCpMessageRouter.route前面,加上 WxMpConfigStorageHolder.THREAD_LOCAL.set(当前操作的appId)