mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-09-21 02:58:09 +08:00
修改消息路由器,使用固定大小的线程池,并在构造函数里提供线程池大小的设置
This commit is contained in:
@@ -41,14 +41,22 @@ import me.chanjar.weixin.cp.bean.WxCpXmlOutMessage;
|
||||
*/
|
||||
public class WxCpMessageRouter {
|
||||
|
||||
private static final int DEFAULT_THREAD_POOL_SIZE = 20;
|
||||
|
||||
private final List<Rule> rules = new ArrayList<Rule>();
|
||||
|
||||
private final ExecutorService es = Executors.newCachedThreadPool();
|
||||
private final ExecutorService executorService;
|
||||
|
||||
private final WxCpService wxCpService;
|
||||
|
||||
public WxCpMessageRouter(WxCpService wxCpService) {
|
||||
this.wxCpService = wxCpService;
|
||||
this.executorService = Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE);
|
||||
}
|
||||
|
||||
public WxCpMessageRouter(WxCpService wxMpService, int threadPoolSize) {
|
||||
this.wxCpService = wxMpService;
|
||||
this.executorService = Executors.newFixedThreadPool(threadPoolSize);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -79,7 +87,7 @@ public class WxCpMessageRouter {
|
||||
if (matchRules.get(0).async) {
|
||||
// 只要第一个是异步的,那就异步执行
|
||||
// 在另一个线程里执行
|
||||
es.submit(new Runnable() {
|
||||
executorService.submit(new Runnable() {
|
||||
public void run() {
|
||||
for (final Rule rule : matchRules) {
|
||||
rule.service(wxMessage);
|
||||
|
Reference in New Issue
Block a user