mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-11-02 21:26:01 +08:00
issue #47 同步规则同步执行,异步规则异步执行
This commit is contained in:
@ -87,25 +87,17 @@ public class WxCpMessageRouter {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (matchRules.get(0).async) {
|
|
||||||
// 只要第一个是异步的,那就异步执行
|
|
||||||
// 在另一个线程里执行
|
|
||||||
executorService.submit(new Runnable() {
|
|
||||||
public void run() {
|
|
||||||
for (final Rule rule : matchRules) {
|
|
||||||
rule.service(wxMessage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
WxCpXmlOutMessage res = null;
|
WxCpXmlOutMessage res = null;
|
||||||
for (final Rule rule : matchRules) {
|
for (final Rule rule : matchRules) {
|
||||||
// 返回最后一个匹配规则的结果
|
// 返回最后一个非异步的rule的执行结果
|
||||||
res = rule.service(wxMessage);
|
if(rule.async) {
|
||||||
if (!rule.reEnter) {
|
executorService.submit(new Runnable() {
|
||||||
break;
|
public void run() {
|
||||||
|
rule.service(wxMessage);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
res = rule.service(wxMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
@ -87,25 +87,17 @@ public class WxMpMessageRouter {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (matchRules.get(0).async) {
|
|
||||||
// 只要第一个是异步的,那就异步执行
|
|
||||||
// 在另一个线程里执行
|
|
||||||
executorService.execute(new Runnable() {
|
|
||||||
public void run() {
|
|
||||||
for (final Rule rule : matchRules) {
|
|
||||||
rule.service(wxMessage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
WxMpXmlOutMessage res = null;
|
WxMpXmlOutMessage res = null;
|
||||||
for (final Rule rule : matchRules) {
|
for (final Rule rule : matchRules) {
|
||||||
// 返回最后一个匹配规则的结果
|
// 返回最后一个非异步的rule的执行结果
|
||||||
res = rule.service(wxMessage);
|
if(rule.async) {
|
||||||
if (!rule.reEnter) {
|
executorService.submit(new Runnable() {
|
||||||
break;
|
public void run() {
|
||||||
|
rule.service(wxMessage);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
res = rule.service(wxMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
Reference in New Issue
Block a user