-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
weixin-java-mp v4.5.0升级回归测试报错 #2995
Comments
我重新梳理了下代码逻辑,在WxPortalController.java中有一句 有一种场景就是,目前在做的业务中,不存在多公众号,有的时候是单一公众号的,在上一个版本(4.4.9.B)是没有问题。 在现有版本(4.5.0)是需要加上了,由于在这个版本中加了那段代码。 不知道这个算不算一个小问题,虽然不严重。 |
一起看下此问题,看有没有更好的处理办法 |
@panxiaochao 谢谢反馈,请问调用WxMpMessageRouter中的的哪个入口方法呢? |
是这样的,此问题在于监听事件,其实只要是我们在接入微信 目前是这样的,我们在开发中,可能是单一公众号,所以会删掉这句,这样的话,在新版中的那段就会出现这个报错问题,是否能明白我说的意思。 |
@binarywang 默认的appId逻辑可能需要调整一下,不在线程变量中返回常量,默认appId用一个新变量存起来,设置默认appId的时候设置到这个变量里面,本地线程没有设置就返回这个默认的appId。我觉得这个可能是比较优的方案。你这边觉得呢? |
@biubiubiu3971 你说的差不多和我本地实现差不多同个道理,我这边参数上在配置上加了个dafaultAppId,在多个情况下,如果不填默认走第一个AppId,同时开放一个AppID包装类,供外部使用,可以实时切换,解决了,多公众号动态切换问题,缓存方式采用和源码同个方式,内存和Redis都可以。 |
@panxiaochao 我另外采用了别的方案,在父线程中获取最终使用的appId,传入子线程,尽量减少代码修改。 |
我不太理解,既然 WxMpMessageRouter的route(),既然wxMessage都拿到了,说明appid是确定的,为啥还要搞一个threadlocal去set |
简要描述
本次升级4.5.0版本,在回归测试中,出现报错信息:无法找到对应【default】的公众号配置信息,请核实!
模块版本情况
详细描述
通过源码代码跟踪,发现与上一个版本(4.4.9.B)出现有点代码区别:
在4.5.0版本中发现这段代码,通过上下文查看,没有set的代码,所以这一段基本拿到的时候默认初始值default。
其中一个场景是:我在关注的时候,会报错。
麻烦看下!
The text was updated successfully, but these errors were encountered: