diff --git a/README.md b/README.md index 23b46ba9..15cf9657 100644 --- a/README.md +++ b/README.md @@ -345,6 +345,20 @@ XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是 - 226、杭州找趣 - 227、浩鲸云计算科技股份有限公司 - 228、科大讯飞【科大讯飞】 + - 229、杭州行装网络科技有限公司 + - 230、即有分期金融 + - 231、深圳法司德信息科技有限公司 + - 232、上海博复信息科技有限公司 + - 233、杭州云嘉云计算有限公司 + - 234、有家民宿(有家美宿) + - 235、北京赢销通软件技术有限公司 + - 236、浙江聚有财金融服务外包有限公司 + - 237、易族智汇(北京)科技有限公司 + - 238、合肥顶岭医疗科技开发有限公司 + - 239、车船宝(深圳)旭珩科技有限公司) + - 240、广州富力地产有限公司 + - 241、氢课(上海)教育科技有限公司 + - 242、武汉氪细胞网络技术有限公司 - …… > 更多接入的公司,欢迎在 [登记地址](https://github.com/xuxueli/xxl-job/issues/1 ) 登记,登记仅仅为了产品推广。 diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index d8c40b7c..2b910b57 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -313,6 +313,20 @@ XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是 - 226、杭州找趣 - 227、浩鲸云计算科技股份有限公司 - 228、科大讯飞【科大讯飞】 + - 229、杭州行装网络科技有限公司 + - 230、即有分期金融 + - 231、深圳法司德信息科技有限公司 + - 232、上海博复信息科技有限公司 + - 233、杭州云嘉云计算有限公司 + - 234、有家民宿(有家美宿) + - 235、北京赢销通软件技术有限公司 + - 236、浙江聚有财金融服务外包有限公司 + - 237、易族智汇(北京)科技有限公司 + - 238、合肥顶岭医疗科技开发有限公司 + - 239、车船宝(深圳)旭珩科技有限公司) + - 240、广州富力地产有限公司 + - 241、氢课(上海)教育科技有限公司 + - 242、武汉氪细胞网络技术有限公司 - …… > 更多接入的公司,欢迎在 [登记地址](https://github.com/xuxueli/xxl-job/issues/1 ) 登记,登记仅仅为了产品推广。 diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AdminBizImpl.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AdminBizImpl.java index 270a78cd..108f5df3 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AdminBizImpl.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AdminBizImpl.java @@ -5,6 +5,7 @@ import com.xxl.job.admin.core.model.XxlJobLog; import com.xxl.job.admin.core.thread.JobTriggerPoolHelper; import com.xxl.job.admin.core.trigger.TriggerTypeEnum; import com.xxl.job.admin.core.util.I18nUtil; +import com.xxl.job.admin.dao.XxlJobGroupDao; import com.xxl.job.admin.dao.XxlJobInfoDao; import com.xxl.job.admin.dao.XxlJobLogDao; import com.xxl.job.admin.dao.XxlJobRegistryDao; @@ -35,6 +36,8 @@ public class AdminBizImpl implements AdminBiz { private XxlJobInfoDao xxlJobInfoDao; @Resource private XxlJobRegistryDao xxlJobRegistryDao; + @Resource + private XxlJobGroupDao xxlJobGroupDao; @Override @@ -126,14 +129,26 @@ public class AdminBizImpl implements AdminBiz { int ret = xxlJobRegistryDao.registryUpdate(registryParam.getRegistGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue()); if (ret < 1) { xxlJobRegistryDao.registrySave(registryParam.getRegistGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue()); + + // fresh + freshGroupRegistryInfo(registryParam); } return ReturnT.SUCCESS; } @Override public ReturnT registryRemove(RegistryParam registryParam) { - xxlJobRegistryDao.registryDelete(registryParam.getRegistGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue()); + int ret = xxlJobRegistryDao.registryDelete(registryParam.getRegistGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue()); + if (ret > 0) { + + // fresh + freshGroupRegistryInfo(registryParam); + } return ReturnT.SUCCESS; } + private void freshGroupRegistryInfo(RegistryParam registryParam){ + // Under consideration, prevent affecting core tables + } + } diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/biz/impl/ExecutorBizImpl.java b/xxl-job-core/src/main/java/com/xxl/job/core/biz/impl/ExecutorBizImpl.java index c12a0fa2..1c809602 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/biz/impl/ExecutorBizImpl.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/biz/impl/ExecutorBizImpl.java @@ -54,7 +54,7 @@ public class ExecutorBizImpl implements ExecutorBiz { return ReturnT.SUCCESS; } - return new ReturnT(ReturnT.SUCCESS_CODE, "job thread aleady killed."); + return new ReturnT(ReturnT.SUCCESS_CODE, "job thread already killed."); } @Override diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java b/xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java index 1823ee81..47deb089 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java @@ -86,11 +86,15 @@ public class XxlJobExecutor { initRpcProvider(ip, port, appName, accessToken); } public void destroy(){ + List runningThreads = new ArrayList<>(jobThreadRepository.values()); if (logger.isInfoEnabled()) { logger.info("running threads {}", runningThreads); } + // destory executor-server + stopRpcProvider(); + // destory jobThreadRepository if (jobThreadRepository.size() > 0) { for (Map.Entry item: jobThreadRepository.entrySet()) { @@ -116,9 +120,6 @@ public class XxlJobExecutor { // destory TriggerCallbackThread TriggerCallbackThread.getInstance().toStop(); - // destory executor-server - stopRpcProvider(); - // destory invoker stopInvokerFactory(); }