| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- //package cn.com.goldenwater.dcproj.task;
- //
- //import cn.com.goldenwater.dcproj.model.BisInspTaskScheduler;
- //import cn.com.goldenwater.dcproj.utils.TaskSchedulerFactory;
- //import cn.com.goldenwater.dcproj.utils.TaskUtils;
- //import org.quartz.*;
- //import org.springframework.stereotype.Service;
- //import org.springframework.transaction.annotation.Transactional;
- //
- //import javax.annotation.Resource;
- //
- ///**
- // * @author lhc
- // * @date 2020/10/12 9:03
- // */
- //
- //@Service
- //public class TaskCronJobService {
- // @Resource
- // private TaskSchedulerFactory schedulerFactory;
- //
- // /** 在对任务进行保存时需同步更新调度器中的定时任务配置 */
- // @Transactional
- // public void save(BisInspTaskScheduler taskCronJob) {
- // try {
- // BisInspTaskScheduler job = new BisInspTaskScheduler();
- // TriggerKey triggerKey = TaskUtils.genCronTriggerKey(job);
- // Scheduler scheduler = schedulerFactory.getScheduler();
- // JobKey jobKey = TaskUtils.genCronJobKey(job);
- // // 如果不同则代表着CRON表达式已经修改
- // if (!job.getTaskSchedule().equals(taskCronJob.getTaskSchedule())) {
- // CronTrigger newTrigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).forJob(jobKey)
- // .withSchedule(CronScheduleBuilder.cronSchedule(taskCronJob.getTaskSchedule()).withMisfireHandlingInstructionDoNothing()).build();
- // // 更新任务
- // scheduler.rescheduleJob(triggerKey, newTrigger);
- // }
- // if (!job.getTaskStatus().equals(taskCronJob.getTaskStatus())) {
- // // 如果状态为0则停止该任务
- // if (!taskCronJob.getTaskStatus()) {
- // scheduler.unscheduleJob(triggerKey);
- //
- // scheduler.pauseJob(jobKey);
- // scheduler.deleteJob(jobKey);
- //
- // } else {
- // Trigger trigger = scheduler.getTrigger(triggerKey);
- // // trigger如果为null则说明scheduler中并没有创建该任务
- // if (trigger == null) {
- // Class<?> jobClass = Class.forName(job.getTaskClass().trim());
- // @SuppressWarnings("unchecked")
- // JobDetail jobDetail = JobBuilder.newJob((Class<? extends Job>) jobClass).withIdentity(jobKey)
- // .withDescription(job.getTaskName()).build();
- // trigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).forJob(jobKey)
- // .withSchedule(CronScheduleBuilder.cronSchedule(taskCronJob.getTaskSchedule()).withMisfireHandlingInstructionDoNothing())
- // .build();
- //
- // scheduler.scheduleJob(jobDetail, trigger);
- // } else {
- // // 不为null则说明scheduler中有创建该任务,更新即可
- // CronTrigger newTrigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).forJob(jobKey)
- // .withSchedule(CronScheduleBuilder.cronSchedule(taskCronJob.getTaskSchedule()).withMisfireHandlingInstructionDoNothing())
- // .build();
- // scheduler.rescheduleJob(triggerKey, newTrigger);
- // }
- // }
- // }
- // job.setTaskSchedule(taskCronJob.getTaskSchedule());
- // job.setTaskStatus(taskCronJob.getTaskStatus());
- // } catch (Exception e) {
- // log.error("定时任务刷新失败...");
- // log.error(e.getMessage());
- // }
- // }
- //
- //
- //}
|