参考网址:http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/tutorial-lesson-01.html
一个Quartz例子:
public class QuartzTest {
public static void main(String[] args) {
try {
// Grab the Scheduler instance from the Factory
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// and start it off
scheduler.start();
JobDetail job = JobBuilder.newJob(HelloJob.class)
.withIdentity("job1", "group1")
.build();
// Trigger the job to run now, and then repeat every 40 seconds
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("trigger1", "group1")
.startNow()
.withSchedule(simpleSchedule()
.withIntervalInSeconds(40)
.repeatForever())
.build();
// Tell quartz to schedule the job using our trigger
scheduler.scheduleJob(job, trigger);
try {
Thread.sleep(10000);
scheduler.shutdown();
}catch (InterruptedException e){
e.printStackTrace();
}
} catch (SchedulerException se) {
se.printStackTrace();
}
}
}
一旦一个scheduler被实例化,它就可以启动,等待以及关闭状态。但是scheduler关闭,它不能被重新启动,除非重新实例化。Triggers
- Scheduler - 与scheduler交互的主函数.
- Job - 由scheduler派发的的工作接口.
- JobDetail - 用于定义job实例.
- Trigger - 定义schedule将会触发那个job的组件.
- JobBuilder - 用于定义JobDetail实例.
- TriggerBuilder - 定义触发TriggerBuilder的实例.