parent
b590a65c4a
commit
725d1f4fe5
|
@ -2,7 +2,7 @@ package com.xxl.job.admin.core.biz;
|
||||||
|
|
||||||
import com.xxl.job.admin.core.model.XxlJobInfo;
|
import com.xxl.job.admin.core.model.XxlJobInfo;
|
||||||
import com.xxl.job.admin.core.model.XxlJobLog;
|
import com.xxl.job.admin.core.model.XxlJobLog;
|
||||||
import com.xxl.job.admin.core.schedule.DynamicSchedulerUtil;
|
import com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler;
|
||||||
import com.xxl.job.core.biz.AdminBiz;
|
import com.xxl.job.core.biz.AdminBiz;
|
||||||
import com.xxl.job.core.biz.model.HandleCallbackParam;
|
import com.xxl.job.core.biz.model.HandleCallbackParam;
|
||||||
import com.xxl.job.core.biz.model.ReturnT;
|
import com.xxl.job.core.biz.model.ReturnT;
|
||||||
|
@ -24,7 +24,7 @@ public class AdminBizImpl implements AdminBiz {
|
||||||
public ReturnT<String> callback(HandleCallbackParam handleCallbackParam) {
|
public ReturnT<String> callback(HandleCallbackParam handleCallbackParam) {
|
||||||
|
|
||||||
// valid log item
|
// valid log item
|
||||||
XxlJobLog log = DynamicSchedulerUtil.xxlJobLogDao.load(handleCallbackParam.getLogId());
|
XxlJobLog log = XxlJobDynamicScheduler.xxlJobLogDao.load(handleCallbackParam.getLogId());
|
||||||
if (log == null) {
|
if (log == null) {
|
||||||
return new ReturnT(ReturnT.FAIL_CODE, "log item not found.");
|
return new ReturnT(ReturnT.FAIL_CODE, "log item not found.");
|
||||||
}
|
}
|
||||||
|
@ -32,17 +32,17 @@ public class AdminBizImpl implements AdminBiz {
|
||||||
// trigger success, to trigger child job, and avoid repeat trigger child job
|
// trigger success, to trigger child job, and avoid repeat trigger child job
|
||||||
String childTriggerMsg = null;
|
String childTriggerMsg = null;
|
||||||
if (ReturnT.SUCCESS_CODE==handleCallbackParam.getCode() && ReturnT.SUCCESS_CODE!=log.getHandleCode()) {
|
if (ReturnT.SUCCESS_CODE==handleCallbackParam.getCode() && ReturnT.SUCCESS_CODE!=log.getHandleCode()) {
|
||||||
XxlJobInfo xxlJobInfo = DynamicSchedulerUtil.xxlJobInfoDao.load(log.getJobGroup(), log.getJobName());
|
XxlJobInfo xxlJobInfo = XxlJobDynamicScheduler.xxlJobInfoDao.load(log.getJobGroup(), log.getJobName());
|
||||||
if (xxlJobInfo!=null && StringUtils.isNotBlank(xxlJobInfo.getChildJobKey())) {
|
if (xxlJobInfo!=null && StringUtils.isNotBlank(xxlJobInfo.getChildJobKey())) {
|
||||||
childTriggerMsg = "<hr>";
|
childTriggerMsg = "<hr>";
|
||||||
String[] childJobKeys = xxlJobInfo.getChildJobKey().split(",");
|
String[] childJobKeys = xxlJobInfo.getChildJobKey().split(",");
|
||||||
for (int i = 0; i < childJobKeys.length; i++) {
|
for (int i = 0; i < childJobKeys.length; i++) {
|
||||||
String[] jobKeyArr = childJobKeys[i].split("_");
|
String[] jobKeyArr = childJobKeys[i].split("_");
|
||||||
if (jobKeyArr!=null && jobKeyArr.length==2) {
|
if (jobKeyArr!=null && jobKeyArr.length==2) {
|
||||||
XxlJobInfo childJobInfo = DynamicSchedulerUtil.xxlJobInfoDao.load(Integer.valueOf(jobKeyArr[0]), jobKeyArr[1]);
|
XxlJobInfo childJobInfo = XxlJobDynamicScheduler.xxlJobInfoDao.load(Integer.valueOf(jobKeyArr[0]), jobKeyArr[1]);
|
||||||
if (childJobInfo!=null) {
|
if (childJobInfo!=null) {
|
||||||
try {
|
try {
|
||||||
boolean ret = DynamicSchedulerUtil.triggerJob(childJobInfo.getJobName(), String.valueOf(childJobInfo.getJobGroup()));
|
boolean ret = XxlJobDynamicScheduler.triggerJob(childJobInfo.getJobName(), String.valueOf(childJobInfo.getJobGroup()));
|
||||||
|
|
||||||
// add msg
|
// add msg
|
||||||
childTriggerMsg += MessageFormat.format("<br> {0}/{1} 触发子任务成功, 子任务Key: {2}, status: {3}, 子任务描述: {4}",
|
childTriggerMsg += MessageFormat.format("<br> {0}/{1} 触发子任务成功, 子任务Key: {2}, status: {3}, 子任务描述: {4}",
|
||||||
|
@ -79,7 +79,7 @@ public class AdminBizImpl implements AdminBiz {
|
||||||
log.setHandleTime(new Date());
|
log.setHandleTime(new Date());
|
||||||
log.setHandleCode(handleCallbackParam.getCode());
|
log.setHandleCode(handleCallbackParam.getCode());
|
||||||
log.setHandleMsg(handleMsg.toString());
|
log.setHandleMsg(handleMsg.toString());
|
||||||
DynamicSchedulerUtil.xxlJobLogDao.updateHandleInfo(log);
|
XxlJobDynamicScheduler.xxlJobLogDao.updateHandleInfo(log);
|
||||||
|
|
||||||
return new ReturnT(ReturnT.SUCCESS_CODE, null);
|
return new ReturnT(ReturnT.SUCCESS_CODE, null);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,9 +3,9 @@ package com.xxl.job.admin.core.jobbean;
|
||||||
import com.xxl.job.admin.core.model.XxlJobGroup;
|
import com.xxl.job.admin.core.model.XxlJobGroup;
|
||||||
import com.xxl.job.admin.core.model.XxlJobInfo;
|
import com.xxl.job.admin.core.model.XxlJobInfo;
|
||||||
import com.xxl.job.admin.core.model.XxlJobLog;
|
import com.xxl.job.admin.core.model.XxlJobLog;
|
||||||
|
import com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler;
|
||||||
import com.xxl.job.admin.core.thread.JobMonitorHelper;
|
import com.xxl.job.admin.core.thread.JobMonitorHelper;
|
||||||
import com.xxl.job.admin.core.thread.JobRegistryHelper;
|
import com.xxl.job.admin.core.thread.JobRegistryHelper;
|
||||||
import com.xxl.job.admin.core.schedule.DynamicSchedulerUtil;
|
|
||||||
import com.xxl.job.core.biz.ExecutorBiz;
|
import com.xxl.job.core.biz.ExecutorBiz;
|
||||||
import com.xxl.job.core.biz.model.ReturnT;
|
import com.xxl.job.core.biz.model.ReturnT;
|
||||||
import com.xxl.job.core.biz.model.TriggerParam;
|
import com.xxl.job.core.biz.model.TriggerParam;
|
||||||
|
@ -36,12 +36,12 @@ public class RemoteHttpJobBean extends QuartzJobBean {
|
||||||
throws JobExecutionException {
|
throws JobExecutionException {
|
||||||
JobKey jobKey = context.getTrigger().getJobKey();
|
JobKey jobKey = context.getTrigger().getJobKey();
|
||||||
|
|
||||||
XxlJobInfo jobInfo = DynamicSchedulerUtil.xxlJobInfoDao.load(Integer.valueOf(jobKey.getGroup()), jobKey.getName());
|
XxlJobInfo jobInfo = XxlJobDynamicScheduler.xxlJobInfoDao.load(Integer.valueOf(jobKey.getGroup()), jobKey.getName());
|
||||||
// save log
|
// save log
|
||||||
XxlJobLog jobLog = new XxlJobLog();
|
XxlJobLog jobLog = new XxlJobLog();
|
||||||
jobLog.setJobGroup(jobInfo.getJobGroup());
|
jobLog.setJobGroup(jobInfo.getJobGroup());
|
||||||
jobLog.setJobName(jobInfo.getJobName());
|
jobLog.setJobName(jobInfo.getJobName());
|
||||||
DynamicSchedulerUtil.xxlJobLogDao.save(jobLog);
|
XxlJobDynamicScheduler.xxlJobLogDao.save(jobLog);
|
||||||
logger.debug(">>>>>>>>>>> xxl-job trigger start, jobId:{}", jobLog.getId());
|
logger.debug(">>>>>>>>>>> xxl-job trigger start, jobId:{}", jobLog.getId());
|
||||||
|
|
||||||
// admin address
|
// admin address
|
||||||
|
@ -50,7 +50,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
|
||||||
if (adminAddressList!=null) {
|
if (adminAddressList!=null) {
|
||||||
adminAddressSet.addAll(adminAddressList);
|
adminAddressSet.addAll(adminAddressList);
|
||||||
}
|
}
|
||||||
adminAddressSet.add(DynamicSchedulerUtil.getCallbackAddress());
|
adminAddressSet.add(XxlJobDynamicScheduler.getCallbackAddress());
|
||||||
|
|
||||||
// update trigger info 1/2
|
// update trigger info 1/2
|
||||||
jobLog.setTriggerTime(new Date());
|
jobLog.setTriggerTime(new Date());
|
||||||
|
@ -68,7 +68,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
|
||||||
|
|
||||||
// parse address
|
// parse address
|
||||||
List<String> addressList = new ArrayList<String>();
|
List<String> addressList = new ArrayList<String>();
|
||||||
XxlJobGroup group = DynamicSchedulerUtil.xxlJobGroupDao.load(Integer.valueOf(jobInfo.getJobGroup()));
|
XxlJobGroup group = XxlJobDynamicScheduler.xxlJobGroupDao.load(Integer.valueOf(jobInfo.getJobGroup()));
|
||||||
if (group!=null) {
|
if (group!=null) {
|
||||||
addressList = JobRegistryHelper.discover(RegistHelper.RegistType.EXECUTOR.name(), group.getAppName());
|
addressList = JobRegistryHelper.discover(RegistHelper.RegistType.EXECUTOR.name(), group.getAppName());
|
||||||
}
|
}
|
||||||
|
@ -82,7 +82,7 @@ public class RemoteHttpJobBean extends QuartzJobBean {
|
||||||
// update trigger info 2/2
|
// update trigger info 2/2
|
||||||
jobLog.setTriggerCode(responseModel.getCode());
|
jobLog.setTriggerCode(responseModel.getCode());
|
||||||
jobLog.setTriggerMsg(responseModel.getMsg());
|
jobLog.setTriggerMsg(responseModel.getMsg());
|
||||||
DynamicSchedulerUtil.xxlJobLogDao.updateTriggerInfo(jobLog);
|
XxlJobDynamicScheduler.xxlJobLogDao.updateTriggerInfo(jobLog);
|
||||||
|
|
||||||
// monitor triger
|
// monitor triger
|
||||||
JobMonitorHelper.monitor(jobLog.getId());
|
JobMonitorHelper.monitor(jobLog.getId());
|
||||||
|
|
|
@ -29,13 +29,13 @@ import java.util.*;
|
||||||
* base quartz scheduler util
|
* base quartz scheduler util
|
||||||
* @author xuxueli 2015-12-19 16:13:53
|
* @author xuxueli 2015-12-19 16:13:53
|
||||||
*/
|
*/
|
||||||
public final class DynamicSchedulerUtil implements ApplicationContextAware, InitializingBean {
|
public final class XxlJobDynamicScheduler implements ApplicationContextAware, InitializingBean {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(DynamicSchedulerUtil.class);
|
private static final Logger logger = LoggerFactory.getLogger(XxlJobDynamicScheduler.class);
|
||||||
|
|
||||||
// Scheduler
|
// Scheduler
|
||||||
private static Scheduler scheduler;
|
private static Scheduler scheduler;
|
||||||
public static void setScheduler(Scheduler scheduler) {
|
public static void setScheduler(Scheduler scheduler) {
|
||||||
DynamicSchedulerUtil.scheduler = scheduler;
|
XxlJobDynamicScheduler.scheduler = scheduler;
|
||||||
}
|
}
|
||||||
|
|
||||||
// trigger callback address
|
// trigger callback address
|
||||||
|
@ -84,10 +84,10 @@ public final class DynamicSchedulerUtil implements ApplicationContextAware, Init
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||||
DynamicSchedulerUtil.xxlJobLogDao = applicationContext.getBean(IXxlJobLogDao.class);
|
XxlJobDynamicScheduler.xxlJobLogDao = applicationContext.getBean(IXxlJobLogDao.class);
|
||||||
DynamicSchedulerUtil.xxlJobInfoDao = applicationContext.getBean(IXxlJobInfoDao.class);
|
XxlJobDynamicScheduler.xxlJobInfoDao = applicationContext.getBean(IXxlJobInfoDao.class);
|
||||||
DynamicSchedulerUtil.xxlJobRegistryDao = applicationContext.getBean(IXxlJobRegistryDao.class);
|
XxlJobDynamicScheduler.xxlJobRegistryDao = applicationContext.getBean(IXxlJobRegistryDao.class);
|
||||||
DynamicSchedulerUtil.xxlJobGroupDao = applicationContext.getBean(IXxlJobGroupDao.class);
|
XxlJobDynamicScheduler.xxlJobGroupDao = applicationContext.getBean(IXxlJobGroupDao.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
|
@ -3,7 +3,7 @@ package com.xxl.job.admin.core.thread;
|
||||||
import com.xxl.job.admin.core.model.XxlJobGroup;
|
import com.xxl.job.admin.core.model.XxlJobGroup;
|
||||||
import com.xxl.job.admin.core.model.XxlJobInfo;
|
import com.xxl.job.admin.core.model.XxlJobInfo;
|
||||||
import com.xxl.job.admin.core.model.XxlJobLog;
|
import com.xxl.job.admin.core.model.XxlJobLog;
|
||||||
import com.xxl.job.admin.core.schedule.DynamicSchedulerUtil;
|
import com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler;
|
||||||
import com.xxl.job.admin.core.util.MailUtil;
|
import com.xxl.job.admin.core.util.MailUtil;
|
||||||
import com.xxl.job.core.biz.model.ReturnT;
|
import com.xxl.job.core.biz.model.ReturnT;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
@ -38,7 +38,7 @@ public class JobMonitorHelper {
|
||||||
Integer jobLogId = JobMonitorHelper.helper.queue.take();
|
Integer jobLogId = JobMonitorHelper.helper.queue.take();
|
||||||
if (jobLogId != null && jobLogId > 0) {
|
if (jobLogId != null && jobLogId > 0) {
|
||||||
logger.info(">>>>>>>>>>> job monitor heat success, JobLogId:{}", jobLogId);
|
logger.info(">>>>>>>>>>> job monitor heat success, JobLogId:{}", jobLogId);
|
||||||
XxlJobLog log = DynamicSchedulerUtil.xxlJobLogDao.load(jobLogId);
|
XxlJobLog log = XxlJobDynamicScheduler.xxlJobLogDao.load(jobLogId);
|
||||||
if (log!=null) {
|
if (log!=null) {
|
||||||
if (ReturnT.SUCCESS_CODE==log.getTriggerCode() && log.getHandleCode()==0) {
|
if (ReturnT.SUCCESS_CODE==log.getTriggerCode() && log.getHandleCode()==0) {
|
||||||
// running
|
// running
|
||||||
|
@ -53,13 +53,13 @@ public class JobMonitorHelper {
|
||||||
// pass
|
// pass
|
||||||
}
|
}
|
||||||
if (ReturnT.FAIL_CODE == log.getTriggerCode()|| ReturnT.FAIL_CODE==log.getHandleCode()) {
|
if (ReturnT.FAIL_CODE == log.getTriggerCode()|| ReturnT.FAIL_CODE==log.getHandleCode()) {
|
||||||
XxlJobInfo info = DynamicSchedulerUtil.xxlJobInfoDao.load(log.getJobGroup(), log.getJobName());
|
XxlJobInfo info = XxlJobDynamicScheduler.xxlJobInfoDao.load(log.getJobGroup(), log.getJobName());
|
||||||
if (info!=null && info.getAlarmEmail()!=null && info.getAlarmEmail().trim().length()>0) {
|
if (info!=null && info.getAlarmEmail()!=null && info.getAlarmEmail().trim().length()>0) {
|
||||||
|
|
||||||
Set<String> emailSet = new HashSet<String>(Arrays.asList(info.getAlarmEmail().split(",")));
|
Set<String> emailSet = new HashSet<String>(Arrays.asList(info.getAlarmEmail().split(",")));
|
||||||
for (String email: emailSet) {
|
for (String email: emailSet) {
|
||||||
String title = "《调度监控报警》(任务调度中心XXL-JOB)";
|
String title = "《调度监控报警》(任务调度中心XXL-JOB)";
|
||||||
XxlJobGroup group = DynamicSchedulerUtil.xxlJobGroupDao.load(Integer.valueOf(info.getJobGroup()));
|
XxlJobGroup group = XxlJobDynamicScheduler.xxlJobGroupDao.load(Integer.valueOf(info.getJobGroup()));
|
||||||
String content = MessageFormat.format("任务调度失败, 执行器名称:{0}, 任务描述:{1}.", group!=null?group.getTitle():"null", info.getJobDesc());
|
String content = MessageFormat.format("任务调度失败, 执行器名称:{0}, 任务描述:{1}.", group!=null?group.getTitle():"null", info.getJobDesc());
|
||||||
MailUtil.sendMail(email, title, content, false, null);
|
MailUtil.sendMail(email, title, content, false, null);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.xxl.job.admin.core.thread;
|
package com.xxl.job.admin.core.thread;
|
||||||
|
|
||||||
import com.xxl.job.admin.core.model.XxlJobRegistry;
|
import com.xxl.job.admin.core.model.XxlJobRegistry;
|
||||||
import com.xxl.job.admin.core.schedule.DynamicSchedulerUtil;
|
import com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler;
|
||||||
import com.xxl.job.core.registry.RegistHelper;
|
import com.xxl.job.core.registry.RegistHelper;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -28,15 +28,15 @@ public class JobRegistryHelper {
|
||||||
while (true) {
|
while (true) {
|
||||||
try {
|
try {
|
||||||
// registry admin
|
// registry admin
|
||||||
int ret = DynamicSchedulerUtil.xxlJobRegistryDao.registryUpdate(RegistHelper.RegistType.ADMIN.name(), RegistHelper.RegistType.ADMIN.name(), DynamicSchedulerUtil.getCallbackAddress());
|
int ret = XxlJobDynamicScheduler.xxlJobRegistryDao.registryUpdate(RegistHelper.RegistType.ADMIN.name(), RegistHelper.RegistType.ADMIN.name(), XxlJobDynamicScheduler.getCallbackAddress());
|
||||||
if (ret < 1) {
|
if (ret < 1) {
|
||||||
DynamicSchedulerUtil.xxlJobRegistryDao.registrySave(RegistHelper.RegistType.ADMIN.name(), RegistHelper.RegistType.ADMIN.name(), DynamicSchedulerUtil.getCallbackAddress());
|
XxlJobDynamicScheduler.xxlJobRegistryDao.registrySave(RegistHelper.RegistType.ADMIN.name(), RegistHelper.RegistType.ADMIN.name(), XxlJobDynamicScheduler.getCallbackAddress());
|
||||||
}
|
}
|
||||||
|
|
||||||
// fresh registry map
|
// fresh registry map
|
||||||
ConcurrentHashMap<String, List<String>> temp = new ConcurrentHashMap<String, List<String>>();
|
ConcurrentHashMap<String, List<String>> temp = new ConcurrentHashMap<String, List<String>>();
|
||||||
DynamicSchedulerUtil.xxlJobRegistryDao.removeDead(RegistHelper.TIMEOUT*2);
|
XxlJobDynamicScheduler.xxlJobRegistryDao.removeDead(RegistHelper.TIMEOUT*2);
|
||||||
List<XxlJobRegistry> list = DynamicSchedulerUtil.xxlJobRegistryDao.findAll(RegistHelper.TIMEOUT*2);
|
List<XxlJobRegistry> list = XxlJobDynamicScheduler.xxlJobRegistryDao.findAll(RegistHelper.TIMEOUT*2);
|
||||||
if (list != null) {
|
if (list != null) {
|
||||||
for (XxlJobRegistry item: list) {
|
for (XxlJobRegistry item: list) {
|
||||||
String groupKey = makeGroupKey(item.getRegistryGroup(), item.getRegistryKey());
|
String groupKey = makeGroupKey(item.getRegistryGroup(), item.getRegistryKey());
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.xxl.job.admin.service.impl;
|
||||||
|
|
||||||
import com.xxl.job.admin.core.model.XxlJobGroup;
|
import com.xxl.job.admin.core.model.XxlJobGroup;
|
||||||
import com.xxl.job.admin.core.model.XxlJobInfo;
|
import com.xxl.job.admin.core.model.XxlJobInfo;
|
||||||
import com.xxl.job.admin.core.schedule.DynamicSchedulerUtil;
|
import com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler;
|
||||||
import com.xxl.job.admin.dao.IXxlJobGroupDao;
|
import com.xxl.job.admin.dao.IXxlJobGroupDao;
|
||||||
import com.xxl.job.admin.dao.IXxlJobInfoDao;
|
import com.xxl.job.admin.dao.IXxlJobInfoDao;
|
||||||
import com.xxl.job.admin.dao.IXxlJobLogDao;
|
import com.xxl.job.admin.dao.IXxlJobLogDao;
|
||||||
|
@ -51,7 +51,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
|
||||||
// fill job info
|
// fill job info
|
||||||
if (list!=null && list.size()>0) {
|
if (list!=null && list.size()>0) {
|
||||||
for (XxlJobInfo jobInfo : list) {
|
for (XxlJobInfo jobInfo : list) {
|
||||||
DynamicSchedulerUtil.fillJobInfo(jobInfo);
|
XxlJobDynamicScheduler.fillJobInfo(jobInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
|
||||||
// generate jobName
|
// generate jobName
|
||||||
String jobName = FastDateFormat.getInstance("yyyyMMddHHmmssSSSS").format(new Date());
|
String jobName = FastDateFormat.getInstance("yyyyMMddHHmmssSSSS").format(new Date());
|
||||||
try {
|
try {
|
||||||
if (DynamicSchedulerUtil.checkExists(jobName, String.valueOf(jobGroup))) {
|
if (XxlJobDynamicScheduler.checkExists(jobName, String.valueOf(jobGroup))) {
|
||||||
return new ReturnT<String>(500, "系统繁忙,请稍后重试");
|
return new ReturnT<String>(500, "系统繁忙,请稍后重试");
|
||||||
}
|
}
|
||||||
} catch (SchedulerException e1) {
|
} catch (SchedulerException e1) {
|
||||||
|
@ -131,7 +131,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// add job 2 quartz
|
// add job 2 quartz
|
||||||
boolean result = DynamicSchedulerUtil.addJob(String.valueOf(jobGroup), jobName, jobCron);
|
boolean result = XxlJobDynamicScheduler.addJob(String.valueOf(jobGroup), jobName, jobCron);
|
||||||
if (result) {
|
if (result) {
|
||||||
xxlJobInfoDao.save(jobInfo);
|
xxlJobInfoDao.save(jobInfo);
|
||||||
return ReturnT.SUCCESS;
|
return ReturnT.SUCCESS;
|
||||||
|
@ -200,7 +200,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// fresh quartz
|
// fresh quartz
|
||||||
boolean ret = DynamicSchedulerUtil.rescheduleJob(String.valueOf(jobGroup), jobName, jobCron);
|
boolean ret = XxlJobDynamicScheduler.rescheduleJob(String.valueOf(jobGroup), jobName, jobCron);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
xxlJobInfoDao.update(jobInfo);
|
xxlJobInfoDao.update(jobInfo);
|
||||||
return ReturnT.SUCCESS;
|
return ReturnT.SUCCESS;
|
||||||
|
@ -216,7 +216,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
|
||||||
@Override
|
@Override
|
||||||
public ReturnT<String> remove(int jobGroup, String jobName) {
|
public ReturnT<String> remove(int jobGroup, String jobName) {
|
||||||
try {
|
try {
|
||||||
DynamicSchedulerUtil.removeJob(jobName, String.valueOf(jobGroup));
|
XxlJobDynamicScheduler.removeJob(jobName, String.valueOf(jobGroup));
|
||||||
xxlJobInfoDao.delete(jobGroup, jobName);
|
xxlJobInfoDao.delete(jobGroup, jobName);
|
||||||
xxlJobLogDao.delete(jobGroup, jobName);
|
xxlJobLogDao.delete(jobGroup, jobName);
|
||||||
xxlJobLogGlueDao.delete(jobGroup, jobName);
|
xxlJobLogGlueDao.delete(jobGroup, jobName);
|
||||||
|
@ -230,7 +230,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
|
||||||
@Override
|
@Override
|
||||||
public ReturnT<String> pause(int jobGroup, String jobName) {
|
public ReturnT<String> pause(int jobGroup, String jobName) {
|
||||||
try {
|
try {
|
||||||
DynamicSchedulerUtil.pauseJob(jobName, String.valueOf(jobGroup)); // jobStatus do not store
|
XxlJobDynamicScheduler.pauseJob(jobName, String.valueOf(jobGroup)); // jobStatus do not store
|
||||||
return ReturnT.SUCCESS;
|
return ReturnT.SUCCESS;
|
||||||
} catch (SchedulerException e) {
|
} catch (SchedulerException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -241,7 +241,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
|
||||||
@Override
|
@Override
|
||||||
public ReturnT<String> resume(int jobGroup, String jobName) {
|
public ReturnT<String> resume(int jobGroup, String jobName) {
|
||||||
try {
|
try {
|
||||||
DynamicSchedulerUtil.resumeJob(jobName, String.valueOf(jobGroup));
|
XxlJobDynamicScheduler.resumeJob(jobName, String.valueOf(jobGroup));
|
||||||
return ReturnT.SUCCESS;
|
return ReturnT.SUCCESS;
|
||||||
} catch (SchedulerException e) {
|
} catch (SchedulerException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
@ -252,7 +252,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
|
||||||
@Override
|
@Override
|
||||||
public ReturnT<String> triggerJob(int jobGroup, String jobName) {
|
public ReturnT<String> triggerJob(int jobGroup, String jobName) {
|
||||||
try {
|
try {
|
||||||
DynamicSchedulerUtil.triggerJob(jobName, String.valueOf(jobGroup));
|
XxlJobDynamicScheduler.triggerJob(jobName, String.valueOf(jobGroup));
|
||||||
return ReturnT.SUCCESS;
|
return ReturnT.SUCCESS;
|
||||||
} catch (SchedulerException e) {
|
} catch (SchedulerException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<!-- 协同-调度器 -->
|
<!-- 协同-调度器 -->
|
||||||
<bean id="dynamicSchedulerUtil" class="com.xxl.job.admin.core.schedule.DynamicSchedulerUtil" init-method="init" destroy-method="destroy" >
|
<bean id="dynamicSchedulerUtil" class="com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler" init-method="init" destroy-method="destroy" >
|
||||||
<!-- (轻易不要变更“调度器名称”, 任务创建时会绑定该“调度器名称”) -->
|
<!-- (轻易不要变更“调度器名称”, 任务创建时会绑定该“调度器名称”) -->
|
||||||
<property name="scheduler" ref="quartzScheduler"/>
|
<property name="scheduler" ref="quartzScheduler"/>
|
||||||
<!-- 调度中心回调IP[选填],为空则自动获取 -->
|
<!-- 调度中心回调IP[选填],为空则自动获取 -->
|
||||||
|
|
Loading…
Reference in New Issue