mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-05-07 14:17:47 +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.api.WxMaService;
|
||||||
import cn.binarywang.wx.miniapp.bean.WxMaMessage;
|
import cn.binarywang.wx.miniapp.bean.WxMaMessage;
|
||||||
|
import cn.binarywang.wx.miniapp.util.WxMaConfigHolder;
|
||||||
import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import me.chanjar.weixin.common.api.WxErrorExceptionHandler;
|
import me.chanjar.weixin.common.api.WxErrorExceptionHandler;
|
||||||
@ -127,7 +128,7 @@ public class WxMaMessageRouter {
|
|||||||
if (matchRules.size() == 0) {
|
if (matchRules.size() == 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
String miniAppId = WxMaConfigHolder.get();
|
||||||
final List<Future<?>> futures = new ArrayList<>();
|
final List<Future<?>> futures = new ArrayList<>();
|
||||||
WxMaXmlOutMessage result = null;
|
WxMaXmlOutMessage result = null;
|
||||||
for (final WxMaMessageRouterRule rule : matchRules) {
|
for (final WxMaMessageRouterRule rule : matchRules) {
|
||||||
@ -135,6 +136,7 @@ public class WxMaMessageRouter {
|
|||||||
if (rule.isAsync()) {
|
if (rule.isAsync()) {
|
||||||
futures.add(
|
futures.add(
|
||||||
this.executorService.submit(() -> {
|
this.executorService.submit(() -> {
|
||||||
|
this.wxMaService.switchoverTo(miniAppId);
|
||||||
rule.service(wxMessage, context, WxMaMessageRouter.this.wxMaService, WxMaMessageRouter.this.sessionManager, WxMaMessageRouter.this.exceptionHandler);
|
rule.service(wxMessage, context, WxMaMessageRouter.this.wxMaService, WxMaMessageRouter.this.sessionManager, WxMaMessageRouter.this.exceptionHandler);
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user