今天来总结一下。Spring中quartz的使用。
1、Quartz是什么?
Quartz 是一个开源的作业调度框架,它完全由 Java 写成,并设计用于 J2SE 和 J2EE 应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。
2、Quartz的分类
2.1、按照作业类的继承方式来分,可以分为两类
- 作业类需要继承自特定的作业类基类,如Quartz中需要继承自org.springframework.scheduling.quartz.QuartzJobBean;java.util.Timer中需要继承自java.util.TimerTask。
- 作业类即普通的java类,不需要继承自任何基类。
注意:推荐使用第二种方式,因为这样所以的类都是普通类,不需要事先区别对待。
2.2、按照任务调度的触发时机来分,这里主要是针对作业使用的触发器,主要有以下两种:
每隔指定时间则触发一次,在Quartz中对应的触发器为:org.springframework.scheduling.quartz.SimpleTriggerBean
每到指定时间则触发一次,在Quartz中对应的调度器为:org.springframework.scheduling.quartz.CronTriggerBean
注意:并非每种任务都可以使用这两种触发器,如java.util.TimerTask任务就只能使用第一种。Quartz和spring task都可以支持这两种触发条件。
3、添加Quartz依赖
|
|
4、Spring中quartz的使用(作业类即普通的java类的使用)
4.1、定义作业类
|
|
4.2、在Spring中配置作业类
|
|
4.3 、定义调用对象和方法
|
|
4.4、配置调度触发器
|
|
4.5、配置调度工厂
|
|
5、quartz的cron 表达式
一个cron表达式至少有6个,是按照空格来分割的时间元素。
按照顺序为:
- 秒 0-59
- 分钟 0-59
- 小时 0-23
- 天 (月)1-31
- 月 0-31
- 天 (星期)1-7
年份 1970- 递增
给几个例子:
|
|
基本上就这么多了。