Job与JobDetail是Quartz用来定义具体任务的,而Trigger则是用来定义任务如何执行的。Quartz提供了Trigger接口来定义公共属性,使用TriggerBuilder能够建立具体类型的Trigger;最多见的两种Trigger分别是SimpleTrigger、CronTrigger。java
Trigger的公共属性:
key,该属性是为了标识Trigger的。
startTime,Trigger第一次被Scheduler触发的时间;该属性的值是指定某个时间点的java.util.Date对象。
endTime,Trigger再也不被执行的时间。
priority,优先级;经过设置优先级属性能够控制Trigger被执行的顺序,该属性默认值是5,能够为正整数也能够为负整数。须要注意的是,只有在触发时间相同时,优先级属性才会有效;好比10:59执行的任务老是会在11:00执行的任务以前执行;另外,若是Trigger是可恢复的,那么恢复后,优先级是不会改变的。
misfire,若是由于某些缘由,错过触发时间,就须要使用该属性来调整。不一样类型的Trigger拥有不一样的misfire,可是默认的是smart policy,这种状况下会根据Trigger的类型与配置来动态的调整行为。
Calendars,该属性并非java.util.Calendar类型,它的做用是排除某些时间,好比在周末不执行任务。Quratz的Calendar对象是一个实现了Calendar接口的序列化对象,Calendars接口以下:
package org.quartz