spring 定时器Quartz

时间:2021-08-10 04:06:11

一.Quartz是什么

spring 定时器Quartz

二.  核心接口

scheduler  --- 核心调度器

Job  --- 任务

JobDetail  --- 任务描述

Tigger  --- 触发器

三 . 核心接口之间的关系

spring 定时器Quartz

四. Tigger

1. SimpleTrigger

每一分钟执行一次;

某一天执行,2015-02-14执行;

spring 定时器Quartz

2. CronTrigger

完成更为复杂的触发:

每个月的最后一天执行

每个月的第一个星期的第二天中午11:55分执行;

每年的第二个月的第三个星期第四天晚上20:30分执行;

spring 定时器Quartz

3. Cron Expressions

spring 定时器Quartz

4. 生成Cron表达式工具

spring 定时器Quartz

注意: 1、没有精确到秒

2、复杂条件,每个月的最后一天等

五. quartz 和spring的集成

1. 没有直接实现job接口

spring 定时器Quartz

2. 设置durability为true

spring 定时器Quartz

3. 定义触发器

spring 定时器Quartz

4. 定义调度器

spring 定时器Quartz

spring 定时器Quartz

六. 如何在job中获取spring上下文

  1.在myJobDetail中指定applicationContextJobDataKey

spring 定时器Quartz

2 .在代码获取

spring 定时器Quartz

七. 问题

1、一个job是否可以有多个触发? 可以

2、一个触发是否可以有多个job? 不可以

结论:一个job可以有多个触发,一个触发不可以有多个job。