mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-11-01 11:38:27 +08:00
🎨 #2663 优化重复消息检查器多实例导致多守护线程的问题,修改成单例+定时任务线程池处理
This commit is contained in:
committed by
GitHub
parent
41bb3b9901
commit
95be03bf1c
@ -5,6 +5,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import me.chanjar.weixin.common.api.WxErrorExceptionHandler;
|
||||
import me.chanjar.weixin.common.api.WxMessageDuplicateChecker;
|
||||
import me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateChecker;
|
||||
import me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateCheckerSingleton;
|
||||
import me.chanjar.weixin.common.session.InternalSession;
|
||||
import me.chanjar.weixin.common.session.InternalSessionManager;
|
||||
import me.chanjar.weixin.common.session.WxSessionManager;
|
||||
@ -71,7 +72,7 @@ public class WxCpMessageRouter {
|
||||
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder().setNameFormat("WxCpMessageRouter-pool-%d").build();
|
||||
this.executorService = new ThreadPoolExecutor(DEFAULT_THREAD_POOL_SIZE, DEFAULT_THREAD_POOL_SIZE,
|
||||
0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(), namedThreadFactory);
|
||||
this.messageDuplicateChecker = new WxMessageInMemoryDuplicateChecker();
|
||||
this.messageDuplicateChecker = WxMessageInMemoryDuplicateCheckerSingleton.getInstance();
|
||||
this.sessionManager = wxCpService.getSessionManager();
|
||||
this.exceptionHandler = new LogExceptionHandler();
|
||||
}
|
||||
@ -82,7 +83,7 @@ public class WxCpMessageRouter {
|
||||
public WxCpMessageRouter(WxCpService wxMpService, ExecutorService executorService) {
|
||||
this.wxCpService = wxMpService;
|
||||
this.executorService = executorService;
|
||||
this.messageDuplicateChecker = new WxMessageInMemoryDuplicateChecker();
|
||||
this.messageDuplicateChecker = WxMessageInMemoryDuplicateCheckerSingleton.getInstance();
|
||||
this.sessionManager = wxCpService.getSessionManager();
|
||||
this.exceptionHandler = new LogExceptionHandler();
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import me.chanjar.weixin.common.api.WxErrorExceptionHandler;
|
||||
import me.chanjar.weixin.common.api.WxMessageDuplicateChecker;
|
||||
import me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateChecker;
|
||||
import me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateCheckerSingleton;
|
||||
import me.chanjar.weixin.common.session.InternalSession;
|
||||
import me.chanjar.weixin.common.session.InternalSessionManager;
|
||||
import me.chanjar.weixin.common.session.WxSessionManager;
|
||||
@ -73,7 +74,7 @@ public class WxCpTpMessageRouter {
|
||||
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder().setNameFormat("WxCpTpMessageRouter-pool-%d").build();
|
||||
this.executorService = new ThreadPoolExecutor(DEFAULT_THREAD_POOL_SIZE, DEFAULT_THREAD_POOL_SIZE,
|
||||
0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(), namedThreadFactory);
|
||||
this.messageDuplicateChecker = new WxMessageInMemoryDuplicateChecker();
|
||||
this.messageDuplicateChecker = WxMessageInMemoryDuplicateCheckerSingleton.getInstance();
|
||||
this.sessionManager = wxCpTpService.getSessionManager();
|
||||
this.exceptionHandler = new LogExceptionHandler();
|
||||
}
|
||||
@ -84,7 +85,7 @@ public class WxCpTpMessageRouter {
|
||||
public WxCpTpMessageRouter(WxCpTpService wxCpTpService, ExecutorService executorService) {
|
||||
this.wxCpTpService = wxCpTpService;
|
||||
this.executorService = executorService;
|
||||
this.messageDuplicateChecker = new WxMessageInMemoryDuplicateChecker();
|
||||
this.messageDuplicateChecker = WxMessageInMemoryDuplicateCheckerSingleton.getInstance();
|
||||
this.sessionManager = wxCpTpService.getSessionManager();
|
||||
this.exceptionHandler = new LogExceptionHandler();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user