mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-05-03 20:27:46 +08:00
🎨【小程序】路由规则使用异步时,当前的appId没有传入到子线程,导致wxMaService在子线程中无法取到父线程的appId。 (#2961)
This commit is contained in:
parent
ee94e6d03b
commit
bae84e1d6b
@ -2,6 +2,7 @@ package cn.binarywang.wx.miniapp.message;
|
||||
|
||||
import cn.binarywang.wx.miniapp.api.WxMaService;
|
||||
import cn.binarywang.wx.miniapp.bean.WxMaMessage;
|
||||
import cn.binarywang.wx.miniapp.util.WxMaConfigHolder;
|
||||
import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
||||
import lombok.Data;
|
||||
import me.chanjar.weixin.common.api.WxErrorExceptionHandler;
|
||||
@ -127,7 +128,7 @@ public class WxMaMessageRouter {
|
||||
if (matchRules.size() == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
String miniAppId = WxMaConfigHolder.get();
|
||||
final List<Future<?>> futures = new ArrayList<>();
|
||||
WxMaXmlOutMessage result = null;
|
||||
for (final WxMaMessageRouterRule rule : matchRules) {
|
||||
@ -135,6 +136,7 @@ public class WxMaMessageRouter {
|
||||
if (rule.isAsync()) {
|
||||
futures.add(
|
||||
this.executorService.submit(() -> {
|
||||
this.wxMaService.switchoverTo(miniAppId);
|
||||
rule.service(wxMessage, context, WxMaMessageRouter.this.wxMaService, WxMaMessageRouter.this.sessionManager, WxMaMessageRouter.this.exceptionHandler);
|
||||
})
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user