Quartz API 的关键接口
Scheduler - 用于与调度程序交互的主要API.
Job - 运行任务(真正的业务实现类)实现的接口
JobDetail - 用于定义任务的实例.
Trigger - 用于定义执行给定Job的计划
JobBuilder - 用于定义/构建JobDetail实例
TriggerBuilder - 用于定义/构建Trigger 实例。
DSL风格
Quartz提供了“构建器”类,采用DSL风格,如下面代码中的newJob()...,newTrigger()...
// define the job and tie it to our HelloJob class
JobDetail job = newJob(HelloJob.class)
.withIdentity("myJob", "group1") // name "myJob", group "group1"
.build();
// Trigger the job to run now, and then every 40 seconds
Trigger trigger = newTrigger()
.withIdentity("myTrigger", "group1")
.startNow()
.withSchedule(simpleSchedule()
.withIntervalInSeconds(40)
.repeatForever())
.build();
// Tell quartz to schedule the job using our trigger
sched.scheduleJob(job, trigger);
可以通过以下import语句实现DSL的静态导入:
import static org.quartz.JobBuilder.*;
import static org.quartz.SimpleScheduleBuilder.*;
import static org.quartz.CronScheduleBuilder.*;
import static org.quartz.CalendarIntervalScheduleBuilder.*;
import static org.quartz.TriggerBuilder.*;
import static org.quartz.DateBuilder.*;
***ScheduleBuilder类具有定义不同类型的Scheduler的方法。
DateBuilder类包含各种方法,可以轻松地为特定时间点构建java.util.Date实例。