使用该插件,必须添加定时任务表。
一、任务时间配置重置任务.
描述:每隔10秒钟,扫描定时任务配置,将任务调度刷新配置。
实现:
1、获取所有任务配置;
2、如列表为空,返回;
3、循环遍历所有任务,并进行【刷新】处理;
3.1、获取调度工厂Scheduler;
3.2、获取该任务触发器;
3.3、获取触发器状态;
3.4、根据设置状态进行相关处理;
if (需要设置的任务状态为停止状态 && 目前该任务触发器状态不为PAUSED){
打印日志,任务【】状态设置为关闭;
调度工厂暂停该触发器;
} else {
// 干预装载,过滤哪些被剔除的任务。返回;(使得数据库任务表的任何修改都不生效)
// 之前为关闭或者时间改变,重启任务;
{
CronTriggerImpl.setCronExpression();
CronTriggerImpl.setMisFireInstruction(CronTriggerImpl.MISFIRE_INSTRUCTION_DO_NOTHING);
scheduler.rescheduleJob(triggerKey, trigger);
}
}
二、自定义任务调度工厂,可以设置任务开启关闭;
自定义调度继承 org.springframework.scheduling.quartz.SchedulerFactoryBean,重写start()、startScheduler()、afterPropertiesSet()
使用 @Component 进行装载;