调用destroy方法的时候,jobHandlerRepository也要清空

This commit is contained in:
773899172@qq.com 2018-11-12 00:39:08 +08:00
parent 900ae92b61
commit 1b90a9ca52
1 changed files with 13 additions and 0 deletions

View File

@ -91,6 +91,12 @@ public class XxlJobExecutor {
}
jobThreadRepository.clear();
}
if(jobHandlerRepository.size() >0 ){
for (Map.Entry<String, IJobHandler> item: jobHandlerRepository.entrySet()){
removeJobHandler(item.getKey(), "web container destroy and kill the jod handler");
}
jobHandlerRepository.clear();
}
// destory JobLogFileCleanThread
@ -103,6 +109,13 @@ public class XxlJobExecutor {
stopRpcProvider();
}
private void removeJobHandler(String handlerId, String removeOldReason){
IJobHandler oldJobHandler = jobHandlerRepository.remove(handlerId);
if (oldJobHandler != null) {
oldJobHandler.destroy();
}
}
// ---------------------- admin-client (rpc invoker) ----------------------
private static List<AdminBiz> adminBizList;