提交 f754b1ce authored 作者: xuxueli's avatar xuxueli

执行器回调线程优化,回调地址为空时销毁问题修复;

上级 33a3e4f6
...@@ -1478,6 +1478,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 ...@@ -1478,6 +1478,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
- 12、首页调度报表的日期排序在TIDB下乱序问题修复; - 12、首页调度报表的日期排序在TIDB下乱序问题修复;
- 13、调度中心与执行器双向通讯超时时间调整为3s; - 13、调度中心与执行器双向通讯超时时间调整为3s;
- 14、调度组件销毁流程优化,先停止调度线程,然后等待时间轮内存量任务处理完成,最终销毁时间轮线程; - 14、调度组件销毁流程优化,先停止调度线程,然后等待时间轮内存量任务处理完成,最终销毁时间轮线程;
- 15、执行器回调线程优化,回调地址为空时销毁问题修复;
### 6.26 版本 v2.1.1 Release Notes[规划中] ### 6.26 版本 v2.1.1 Release Notes[规划中]
......
...@@ -44,31 +44,11 @@ ...@@ -44,31 +44,11 @@
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<!-- junit -->
<dependency> <dependency>
<groupId>org.powermock</groupId> <groupId>junit</groupId>
<artifactId>powermock-api-mockito</artifactId> <artifactId>junit</artifactId>
<version>1.6.5</version> <version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.6.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.10.19</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.diffblue</groupId>
<artifactId>deeptestutils</artifactId>
<version>1.9.0</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
......
...@@ -133,20 +133,25 @@ public class TriggerCallbackThread { ...@@ -133,20 +133,25 @@ public class TriggerCallbackThread {
public void toStop(){ public void toStop(){
toStop = true; toStop = true;
// stop callback, interrupt and wait // stop callback, interrupt and wait
triggerCallbackThread.interrupt(); if (triggerCallbackThread != null) { // support empty admin address
try { triggerCallbackThread.interrupt();
triggerCallbackThread.join(); try {
} catch (InterruptedException e) { triggerCallbackThread.join();
logger.error(e.getMessage(), e); } catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
} }
// stop retry, interrupt and wait // stop retry, interrupt and wait
triggerRetryCallbackThread.interrupt(); if (triggerRetryCallbackThread != null) {
try { triggerRetryCallbackThread.interrupt();
triggerRetryCallbackThread.join(); try {
} catch (InterruptedException e) { triggerRetryCallbackThread.join();
logger.error(e.getMessage(), e); } catch (InterruptedException e) {
logger.error(e.getMessage(), e);
}
} }
} }
/** /**
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论