浏览代码

Merge pull request #607 from jiangeeq/master

许雪里 6 年前
父节点
当前提交
d0e8674fb6
没有帐户链接到提交者的电子邮件
共有 1 个文件被更改,包括 13 次插入0 次删除
  1. 13 0
      xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java

+ 13 - 0
xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java 查看文件

92
             }
92
             }
93
             jobThreadRepository.clear();
93
             jobThreadRepository.clear();
94
         }
94
         }
95
+        if(jobHandlerRepository.size() >0 ){
96
+            for (Map.Entry<String, IJobHandler> item: jobHandlerRepository.entrySet()){
97
+                removeJobHandler(item.getKey(), "web container destroy and kill the jod handler");
98
+            }
99
+            jobHandlerRepository.clear();
100
+        }
95
 
101
 
96
 
102
 
97
         // destory JobLogFileCleanThread
103
         // destory JobLogFileCleanThread
104
         stopRpcProvider();
110
         stopRpcProvider();
105
     }
111
     }
106
 
112
 
113
+    private void removeJobHandler(String handlerId, String removeOldReason){
114
+        IJobHandler oldJobHandler = jobHandlerRepository.remove(handlerId);
115
+        if (oldJobHandler != null) {
116
+            oldJobHandler.destroy();
117
+        }
118
+    }
119
+
107
 
120
 
108
     // ---------------------- admin-client (rpc invoker) ----------------------
121
     // ---------------------- admin-client (rpc invoker) ----------------------
109
     private static List<AdminBiz> adminBizList;
122
     private static List<AdminBiz> adminBizList;