package com.java110.job.quartz;
|
|
import com.java110.dto.task.TaskDto;
|
import com.java110.utils.factory.ApplicationContextFactory;
|
import org.quartz.Job;
|
import org.quartz.JobExecutionContext;
|
import org.quartz.JobExecutionException;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
|
|
/**
|
* @author
|
*/
|
|
public class TaskSystemJob implements Job {
|
|
private static final Logger logger = LoggerFactory.getLogger(TaskSystemJob.class);
|
|
public static String JOB_DATA_CONFIG_NAME = "taskSystemTaskName";
|
public static String JOB_DATA_TASK_ID = "taskSystemTaskId";
|
public static String JOB_DATA_TASK_ATTR = "taskSystemTaskAttr";
|
public static String JOB_DATA_TASK = "taskSystemTask";
|
public static String JOB_GROUP_NAME = "taskSystemJobGroup"; // 任务的 分组名称
|
|
|
private TaskSystemQuartz taskSystemQuartz;
|
|
protected void executeInternal(JobExecutionContext context) {
|
try {
|
TaskDto taskDto = (TaskDto) (context.getJobDetail().getJobDataMap()
|
.get(JOB_DATA_TASK));
|
taskSystemQuartz = (TaskSystemQuartz) ApplicationContextFactory.getBean(taskDto.getTaskTemplateDto().getClassBean());
|
taskSystemQuartz.startTask(taskDto);
|
} catch (Throwable ex) {
|
logger.error("执行任务失败:", ex);
|
}
|
}
|
|
@Override
|
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
this.executeInternal(jobExecutionContext);
|
}
|
}
|