| @@ -77,8 +77,6 @@ public class WxMpMessageRouter { | |||||
| * 设置自定义的 {@link ExecutorService} | * 设置自定义的 {@link ExecutorService} | ||||
| * 如果不调用该方法,默认使用 Executors.newFixedThreadPool(100) | * 如果不调用该方法,默认使用 Executors.newFixedThreadPool(100) | ||||
| * </pre> | * </pre> | ||||
| * | |||||
| * @param executorService | |||||
| */ | */ | ||||
| public void setExecutorService(ExecutorService executorService) { | public void setExecutorService(ExecutorService executorService) { | ||||
| this.executorService = executorService; | this.executorService = executorService; | ||||
| @@ -89,8 +87,6 @@ public class WxMpMessageRouter { | |||||
| * 设置自定义的 {@link me.chanjar.weixin.common.api.WxMessageDuplicateChecker} | * 设置自定义的 {@link me.chanjar.weixin.common.api.WxMessageDuplicateChecker} | ||||
| * 如果不调用该方法,默认使用 {@link me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateChecker} | * 如果不调用该方法,默认使用 {@link me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateChecker} | ||||
| * </pre> | * </pre> | ||||
| * | |||||
| * @param messageDuplicateChecker | |||||
| */ | */ | ||||
| public void setMessageDuplicateChecker(WxMessageDuplicateChecker messageDuplicateChecker) { | public void setMessageDuplicateChecker(WxMessageDuplicateChecker messageDuplicateChecker) { | ||||
| this.messageDuplicateChecker = messageDuplicateChecker; | this.messageDuplicateChecker = messageDuplicateChecker; | ||||
| @@ -101,8 +97,6 @@ public class WxMpMessageRouter { | |||||
| * 设置自定义的{@link me.chanjar.weixin.common.session.WxSessionManager} | * 设置自定义的{@link me.chanjar.weixin.common.session.WxSessionManager} | ||||
| * 如果不调用该方法,默认使用 {@link me.chanjar.weixin.common.session.StandardSessionManager} | * 如果不调用该方法,默认使用 {@link me.chanjar.weixin.common.session.StandardSessionManager} | ||||
| * </pre> | * </pre> | ||||
| * | |||||
| * @param sessionManager | |||||
| */ | */ | ||||
| public void setSessionManager(WxSessionManager sessionManager) { | public void setSessionManager(WxSessionManager sessionManager) { | ||||
| this.sessionManager = sessionManager; | this.sessionManager = sessionManager; | ||||
| @@ -113,8 +107,6 @@ public class WxMpMessageRouter { | |||||
| * 设置自定义的{@link me.chanjar.weixin.common.api.WxErrorExceptionHandler} | * 设置自定义的{@link me.chanjar.weixin.common.api.WxErrorExceptionHandler} | ||||
| * 如果不调用该方法,默认使用 {@link me.chanjar.weixin.common.util.LogExceptionHandler} | * 如果不调用该方法,默认使用 {@link me.chanjar.weixin.common.util.LogExceptionHandler} | ||||
| * </pre> | * </pre> | ||||
| * | |||||
| * @param exceptionHandler | |||||
| */ | */ | ||||
| public void setExceptionHandler(WxErrorExceptionHandler exceptionHandler) { | public void setExceptionHandler(WxErrorExceptionHandler exceptionHandler) { | ||||
| this.exceptionHandler = exceptionHandler; | this.exceptionHandler = exceptionHandler; | ||||
| @@ -133,11 +125,9 @@ public class WxMpMessageRouter { | |||||
| /** | /** | ||||
| * 处理微信消息 | * 处理微信消息 | ||||
| * | |||||
| * @param wxMessage | |||||
| */ | */ | ||||
| public WxMpXmlOutMessage route(final WxMpXmlMessage wxMessage) { | public WxMpXmlOutMessage route(final WxMpXmlMessage wxMessage) { | ||||
| if (isDuplicateMessage(wxMessage)) { | |||||
| if (isMsgDuplicated(wxMessage)) { | |||||
| // 如果是重复消息,那么就不做处理 | // 如果是重复消息,那么就不做处理 | ||||
| return null; | return null; | ||||
| } | } | ||||
| @@ -188,9 +178,7 @@ public class WxMpMessageRouter { | |||||
| WxMpMessageRouter.this.log.debug("End session access: async=true, sessionId={}", wxMessage.getFromUser()); | WxMpMessageRouter.this.log.debug("End session access: async=true, sessionId={}", wxMessage.getFromUser()); | ||||
| // 异步操作结束,session访问结束 | // 异步操作结束,session访问结束 | ||||
| sessionEndAccess(wxMessage); | sessionEndAccess(wxMessage); | ||||
| } catch (InterruptedException e) { | |||||
| WxMpMessageRouter.this.log.error("Error happened when wait task finish", e); | |||||
| } catch (ExecutionException e) { | |||||
| } catch (InterruptedException | ExecutionException e) { | |||||
| WxMpMessageRouter.this.log.error("Error happened when wait task finish", e); | WxMpMessageRouter.this.log.error("Error happened when wait task finish", e); | ||||
| } | } | ||||
| } | } | ||||
| @@ -200,9 +188,9 @@ public class WxMpMessageRouter { | |||||
| return res; | return res; | ||||
| } | } | ||||
| protected boolean isDuplicateMessage(WxMpXmlMessage wxMessage) { | |||||
| protected boolean isMsgDuplicated(WxMpXmlMessage wxMessage) { | |||||
| StringBuffer messageId = new StringBuffer(); | |||||
| StringBuilder messageId = new StringBuilder(); | |||||
| if (wxMessage.getMsgId() == null) { | if (wxMessage.getMsgId() == null) { | ||||
| messageId.append(wxMessage.getCreateTime()) | messageId.append(wxMessage.getCreateTime()) | ||||
| .append("-").append(wxMessage.getFromUser()) | .append("-").append(wxMessage.getFromUser()) | ||||
| @@ -219,8 +207,6 @@ public class WxMpMessageRouter { | |||||
| /** | /** | ||||
| * 对session的访问结束 | * 对session的访问结束 | ||||
| * | |||||
| * @param wxMessage | |||||
| */ | */ | ||||
| protected void sessionEndAccess(WxMpXmlMessage wxMessage) { | protected void sessionEndAccess(WxMpXmlMessage wxMessage) { | ||||