| @@ -53,7 +53,6 @@ import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage; | |||
| * @author Daniel Qian | |||
| */ | |||
| public class WxMpMessageRouter { | |||
| private static final int DEFAULT_THREAD_POOL_SIZE = 100; | |||
| protected final Logger log = LoggerFactory.getLogger(WxMpMessageRouter.class); | |||
| private final List<WxMpMessageRouterRule> rules = new ArrayList<>(); | |||
| @@ -77,9 +76,7 @@ public class WxMpMessageRouter { | |||
| } | |||
| /** | |||
| * <pre> | |||
| * 使用自定义的 {@link ExecutorService} | |||
| * </pre> | |||
| * 使用自定义的 {@link ExecutorService}. | |||
| */ | |||
| public WxMpMessageRouter(WxMpService wxMpService, ExecutorService executorService) { | |||
| this.wxMpService = wxMpService; | |||
| @@ -90,9 +87,7 @@ public class WxMpMessageRouter { | |||
| } | |||
| /** | |||
| * <pre> | |||
| * 如果使用默认的 {@link ExecutorService},则系统退出前,应该调用该方法。 | |||
| * </pre> | |||
| * 如果使用默认的 {@link ExecutorService},则系统退出前,应该调用该方法. | |||
| */ | |||
| public void shutDownExecutorService() { | |||
| this.executorService.shutdown(); | |||
| @@ -230,23 +225,26 @@ public class WxMpMessageRouter { | |||
| } | |||
| public WxMpXmlOutMessage route(final WxMpXmlMessage wxMessage) { | |||
| return this.route(wxMessage, new HashMap<String, Object>()); | |||
| return this.route(wxMessage, new HashMap<String, Object>(2)); | |||
| } | |||
| protected boolean isMsgDuplicated(WxMpXmlMessage wxMessage) { | |||
| private boolean isMsgDuplicated(WxMpXmlMessage wxMessage) { | |||
| StringBuilder messageId = new StringBuilder(); | |||
| if (wxMessage.getMsgId() == null) { | |||
| messageId.append(wxMessage.getCreateTime()) | |||
| .append("-").append(wxMessage.getFromUser()) | |||
| .append("-").append(StringUtils.trimToEmpty(wxMessage.getEventKey())) | |||
| .append("-").append(StringUtils.trimToEmpty(wxMessage.getEvent())) | |||
| ; | |||
| .append("-").append(StringUtils.trimToEmpty(wxMessage.getEvent())); | |||
| } else { | |||
| messageId.append(wxMessage.getMsgId()) | |||
| .append("-").append(wxMessage.getCreateTime()) | |||
| .append("-").append(wxMessage.getFromUser()); | |||
| } | |||
| if (StringUtils.isNotEmpty(wxMessage.getUserCardCode())) { | |||
| messageId.append("-").append(wxMessage.getUserCardCode()); | |||
| } | |||
| return this.messageDuplicateChecker.isDuplicate(messageId.toString()); | |||
| } | |||
| @@ -254,12 +252,10 @@ public class WxMpMessageRouter { | |||
| /** | |||
| * 对session的访问结束. | |||
| */ | |||
| protected void sessionEndAccess(WxMpXmlMessage wxMessage) { | |||
| private void sessionEndAccess(WxMpXmlMessage wxMessage) { | |||
| InternalSession session = ((InternalSessionManager) this.sessionManager).findSession(wxMessage.getFromUser()); | |||
| if (session != null) { | |||
| session.endAccess(); | |||
| } | |||
| } | |||
| } | |||