查看: 333|回复: 5

【转】动态添加定时任务-quartz定时器

[复制链接]
论坛徽章:
24
Mycat徽章
日期:2016-06-08 14:19:56架构徽章
日期:2018-02-08 16:19:13Go徽章
日期:2018-05-10 16:26:29postgresql徽章
日期:2018-05-10 16:26:58股票徽章
日期:2018-06-29 11:14:50股票徽章
日期:2018-08-30 15:33:52股票徽章
日期:2018-11-22 15:36:24区块链徽章
日期:2018-12-20 15:15:09计算徽章
日期:2019-07-18 14:39:13Agile徽章
日期:2019-09-05 14:14:50搜索引擎徽章
日期:2019-09-05 14:20:00Hadoop研习者初级
日期:2018-01-11 17:33:01
发表于 2019-5-14 00:27 | 显示全部楼层 |阅读模式

tm HTML

回复

使用道具 举报

新浪微博达人勋 xenron  实名认证
论坛徽章:
247
股票徽章
日期:2019-09-12 14:42:59
发表于 2019-5-14 17:51 | 显示全部楼层
计划中的任务
指那些已经添加到quartz调度器的任务,因为quartz并没有直接提供这样的查询接口,所以需要结合JobKey和Trigger来实现
回复 支持 反对

使用道具 举报

新浪微博达人勋 xenron  实名认证
论坛徽章:
247
股票徽章
日期:2019-09-12 14:42:59
发表于 2019-5-14 19:44 | 显示全部楼层
trigger各状态说明:

None:Trigger已经完成,且不会在执行,或者找不到该触发器,或者Trigger已经被删除
NORMAL:正常状态
PAUSED:暂停状态
COMPLETE:触发器完成,但是任务可能还正在执行中
BLOCKED:线程阻塞状态
ERROR:出现错误
回复 支持 反对

使用道具 举报

新浪微博达人勋 xenron  实名认证
论坛徽章:
247
股票徽章
日期:2019-09-12 14:42:59
发表于 2019-5-14 19:45 | 显示全部楼层
暂停任务
这个比较简单,核心代码:

Scheduler scheduler = schedulerFactoryBean.getScheduler();
JobKey jobKey = JobKey.jobKey(scheduleJob.getJobName(), scheduleJob.getJobGroup());
scheduler.pauseJob(jobKey);
回复 支持 反对

使用道具 举报

新浪微博达人勋 xenron  实名认证
论坛徽章:
247
股票徽章
日期:2019-09-12 14:42:59
发表于 2019-5-14 19:45 | 显示全部楼层
恢复任务
和暂停任务相对,核心代码:

Scheduler scheduler = schedulerFactoryBean.getScheduler();
JobKey jobKey = JobKey.jobKey(scheduleJob.getJobName(), scheduleJob.getJobGroup());
scheduler.resumeJob(jobKey);
回复 支持 反对

使用道具 举报

新浪微博达人勋 xenron  实名认证
论坛徽章:
247
股票徽章
日期:2019-09-12 14:42:59
发表于 2019-5-14 19:45 | 显示全部楼层
删除任务
删除任务后,所对应的trigger也将被删除

Scheduler scheduler = schedulerFactoryBean.getScheduler();
JobKey jobKey = JobKey.jobKey(scheduleJob.getJobName(), scheduleJob.getJobGroup());
scheduler.deleteJob(jobKey);
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2019-9-16 04:50 , Processed in 0.152342 second(s), 44 queries .