Quartz 定时任务
场景:
Quartz 工作原理:组成部分
使用简单的定时任务
动态任务管理
3个组件:
job:要执行的任务,接口
自定义执行任务时,需要实现job接口 实现execute方法
下有系统实现类JobDetail,通过此类加载自定义的任务
trigger:触发器(什么时候执行任务)
下有两个子类 1)SimpleTrigger:不能精确到时分秒;
2)CronTrigger:自定义Cron表达式:声明时间规则
Scheduler:调度器,把job任务和trigger触发器结合在一起
定时任务实际上是新开启的线程,如果没到执行的时间,线程sleep
|
|
Cron表达式
- 在触发器中声明复杂的时间规则需要使用Cron表达式
- Cron表达式:生命时间的时间规则
- 秒 0-59
- 分 0-59
- 时 0-23
- 日 1-31
- 月 1-12 or JAN-DEC
- 周 1-7 or SUN-SAT
- 年 (年可以省略)empty or 1970-2099
- 特殊符号:
- ?任意值
- ,分隔符 19,20,21
- - 范围 8-10
- / 增幅 0/5 从0开始,每次增加5
- L 最后一个 日:最后一天,月:最后一月
- W
- #
一般情况下 日期和星期写一个就可以,否则就是几号并且是周几的情况下执行
动态定时任务
- 根据需要随时向现有的定时任务中添加新的定时任务
- 动态修改已存在的定时任务的时间规则
- 停止/恢复某个定时任务
- 删除某个定时任务
添加定时任务
|
|
动态修改已存在的定时任务的时间规则
|
|
删除定时任务
|
|
暂停定时任务
|
|
恢復定時任務
|
|
测试一下
|
|