waitting for running thread shutdown before callback thread toStop

master
WEIZIBIN 5 years ago
parent 59f68132ea
commit 4e8e049a7b
  1. 14
      xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java

@ -86,6 +86,11 @@ public class XxlJobExecutor {
initRpcProvider(ip, port, appName, accessToken);
}
public void destroy(){
List<JobThread> runningThreads = new ArrayList<>(jobThreadRepository.values());
if (logger.isInfoEnabled()) {
logger.info("running threads {}", runningThreads);
}
// destory jobThreadRepository
if (jobThreadRepository.size() > 0) {
for (Map.Entry<Integer, JobThread> item: jobThreadRepository.entrySet()) {
@ -95,6 +100,15 @@ public class XxlJobExecutor {
}
jobHandlerRepository.clear();
for (JobThread runningThread : runningThreads) {
try {
// wait for all job thread push result to callback queue
runningThread.join();
} catch (InterruptedException e) {
logger.warn("interrupted while stopping {}", runningThread);
break;
}
}
// destory JobLogFileCleanThread
JobLogFileCleanThread.getInstance().toStop();

Loading…
Cancel
Save