|
|
|
|
@ -2,7 +2,7 @@ package com.xxl.job.admin.scheduler.thread;
|
|
|
|
|
|
|
|
|
|
import com.xxl.job.admin.model.XxlJobGroup;
|
|
|
|
|
import com.xxl.job.admin.model.XxlJobRegistry;
|
|
|
|
|
import com.xxl.job.admin.scheduler.conf.XxlJobAdminConfig;
|
|
|
|
|
import com.xxl.job.admin.scheduler.config.XxlJobAdminBootstrap;
|
|
|
|
|
import com.xxl.job.core.biz.model.RegistryParam;
|
|
|
|
|
import com.xxl.job.core.biz.model.ReturnT;
|
|
|
|
|
import com.xxl.job.core.enums.RegistryConfig;
|
|
|
|
|
@ -59,18 +59,18 @@ public class JobRegistryHelper {
|
|
|
|
|
while (!toStop) {
|
|
|
|
|
try {
|
|
|
|
|
// auto registry group
|
|
|
|
|
List<XxlJobGroup> groupList = XxlJobAdminConfig.getAdminConfig().getXxlJobGroupMapper().findByAddressType(0);
|
|
|
|
|
List<XxlJobGroup> groupList = XxlJobAdminBootstrap.getAdminConfig().getXxlJobGroupMapper().findByAddressType(0);
|
|
|
|
|
if (groupList!=null && !groupList.isEmpty()) {
|
|
|
|
|
|
|
|
|
|
// remove dead address (admin/executor)
|
|
|
|
|
List<Integer> ids = XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryMapper().findDead(RegistryConfig.DEAD_TIMEOUT, new Date());
|
|
|
|
|
List<Integer> ids = XxlJobAdminBootstrap.getAdminConfig().getXxlJobRegistryMapper().findDead(RegistryConfig.DEAD_TIMEOUT, new Date());
|
|
|
|
|
if (ids!=null && ids.size()>0) {
|
|
|
|
|
XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryMapper().removeDead(ids);
|
|
|
|
|
XxlJobAdminBootstrap.getAdminConfig().getXxlJobRegistryMapper().removeDead(ids);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// fresh online address (admin/executor)
|
|
|
|
|
HashMap<String, List<String>> appAddressMap = new HashMap<String, List<String>>();
|
|
|
|
|
List<XxlJobRegistry> list = XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryMapper().findAll(RegistryConfig.DEAD_TIMEOUT, new Date());
|
|
|
|
|
List<XxlJobRegistry> list = XxlJobAdminBootstrap.getAdminConfig().getXxlJobRegistryMapper().findAll(RegistryConfig.DEAD_TIMEOUT, new Date());
|
|
|
|
|
if (list != null) {
|
|
|
|
|
for (XxlJobRegistry item: list) {
|
|
|
|
|
if (RegistryConfig.RegistType.EXECUTOR.name().equals(item.getRegistryGroup())) {
|
|
|
|
|
@ -104,7 +104,7 @@ public class JobRegistryHelper {
|
|
|
|
|
group.setAddressList(addressListStr);
|
|
|
|
|
group.setUpdateTime(new Date());
|
|
|
|
|
|
|
|
|
|
XxlJobAdminConfig.getAdminConfig().getXxlJobGroupMapper().update(group);
|
|
|
|
|
XxlJobAdminBootstrap.getAdminConfig().getXxlJobGroupMapper().update(group);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} catch (Throwable e) {
|
|
|
|
|
@ -160,7 +160,7 @@ public class JobRegistryHelper {
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
|
// 0-fail; 1-save suc; 2-update suc;
|
|
|
|
|
int ret = XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryMapper().registrySaveOrUpdate(registryParam.getRegistryGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue(), new Date());
|
|
|
|
|
int ret = XxlJobAdminBootstrap.getAdminConfig().getXxlJobRegistryMapper().registrySaveOrUpdate(registryParam.getRegistryGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue(), new Date());
|
|
|
|
|
if (ret == 1) {
|
|
|
|
|
// fresh (add)
|
|
|
|
|
freshGroupRegistryInfo(registryParam);
|
|
|
|
|
@ -191,7 +191,7 @@ public class JobRegistryHelper {
|
|
|
|
|
registryOrRemoveThreadPool.execute(new Runnable() {
|
|
|
|
|
@Override
|
|
|
|
|
public void run() {
|
|
|
|
|
int ret = XxlJobAdminConfig.getAdminConfig().getXxlJobRegistryMapper().registryDelete(registryParam.getRegistryGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue());
|
|
|
|
|
int ret = XxlJobAdminBootstrap.getAdminConfig().getXxlJobRegistryMapper().registryDelete(registryParam.getRegistryGroup(), registryParam.getRegistryKey(), registryParam.getRegistryValue());
|
|
|
|
|
if (ret > 0) {
|
|
|
|
|
// fresh (delete)
|
|
|
|
|
freshGroupRegistryInfo(registryParam);
|
|
|
|
|
|