diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpMessageRouter.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpMessageRouter.java index 5c46ac0bf..d4483eb07 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpMessageRouter.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpMessageRouter.java @@ -107,7 +107,7 @@ public class WxCpMessageRouter { * @return */ public Rule rule() { - return new Rule(this, wxCpService, sessionManager); + return new Rule(this); } /** @@ -143,12 +143,12 @@ public class WxCpMessageRouter { futures.add( executorService.submit(new Runnable() { public void run() { - rule.service(wxMessage); + rule.service(wxMessage, wxCpService, sessionManager); } }) ); } else { - res = rule.service(wxMessage); + res = rule.service(wxMessage, wxCpService, sessionManager); // 在同步操作结束,session访问结束 log.debug("End session access: async=false, sessionId={}", wxMessage.getFromUserName()); sessionEndAccess(wxMessage); @@ -214,10 +214,6 @@ public class WxCpMessageRouter { private final WxCpMessageRouter routerBuilder; - private final WxCpService wxCpService; - - private final WxSessionManager sessionManager; - private boolean async = true; private String fromUser; @@ -240,10 +236,8 @@ public class WxCpMessageRouter { private List interceptors = new ArrayList(); - protected Rule(WxCpMessageRouter routerBuilder, WxCpService wxCpService, WxSessionManager sessionManager) { + protected Rule(WxCpMessageRouter routerBuilder) { this.routerBuilder = routerBuilder; - this.wxCpService = wxCpService; - this.sessionManager = sessionManager; } /** @@ -417,7 +411,7 @@ public class WxCpMessageRouter { * @param wxMessage * @return true 代表继续执行别的router,false 代表停止执行别的router */ - protected WxCpXmlOutMessage service(WxCpXmlMessage wxMessage) { + protected WxCpXmlOutMessage service(WxCpXmlMessage wxMessage, WxCpService wxCpService, WxSessionManager sessionManager) { Map context = new HashMap(); // 如果拦截器不通过 for (WxCpMessageInterceptor interceptor : this.interceptors) { diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageRouter.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageRouter.java index 28a59de2a..3b4137530 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageRouter.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageRouter.java @@ -106,7 +106,7 @@ public class WxMpMessageRouter { * @return */ public Rule rule() { - return new Rule(this, wxMpService, sessionManager); + return new Rule(this); } /** @@ -142,12 +142,12 @@ public class WxMpMessageRouter { futures.add( executorService.submit(new Runnable() { public void run() { - rule.service(wxMessage); + rule.service(wxMessage, wxMpService, sessionManager); } }) ); } else { - res = rule.service(wxMessage); + res = rule.service(wxMessage, wxMpService, sessionManager); // 在同步操作结束,session访问结束 log.debug("End session access: async=false, sessionId={}", wxMessage.getFromUserName()); sessionEndAccess(wxMessage); @@ -212,10 +212,6 @@ public class WxMpMessageRouter { private final WxMpMessageRouter routerBuilder; - private final WxMpService wxMpService; - - private final WxSessionManager sessionManager; - private boolean async = true; private String fromUser; @@ -236,10 +232,8 @@ public class WxMpMessageRouter { private List interceptors = new ArrayList(); - protected Rule(WxMpMessageRouter routerBuilder, WxMpService wxMpService, WxSessionManager sessionManager) { + protected Rule(WxMpMessageRouter routerBuilder) { this.routerBuilder = routerBuilder; - this.wxMpService = wxMpService; - this.sessionManager = sessionManager; } /** @@ -401,7 +395,7 @@ public class WxMpMessageRouter { * @param wxMessage * @return true 代表继续执行别的router,false 代表停止执行别的router */ - protected WxMpXmlOutMessage service(WxMpXmlMessage wxMessage) { + protected WxMpXmlOutMessage service(WxMpXmlMessage wxMessage, WxMpService wxMpService, WxSessionManager sessionManager) { Map context = new HashMap(); // 如果拦截器不通过 for (WxMpMessageInterceptor interceptor : this.interceptors) {