轉載至http://blog.csdn.net/a4307515/article/details/46985533
1.關鍵接口
- Scheduler,任務調度的API;它可以用來啟動或者終止任務等。
- Job,具體的任務接口;通過實現它,來讓任務調度執行具體的任務。
- JobDetail ,用來定義Job的實例。
- Trigger ,觸發器用來定義給定的Job應該如何執行。
- JobBuilder ,用來定義/構建Jobdetail實例。
- TriggerBuilder ,用來定義/構建Trigger實例。
2.簡單例子
下面是一個簡單的例子,創建一個簡單的任務調度。
創建一個Job,名為HelloJob:
package me.shijunjie.quartz;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class QuartzTestJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("Hello, Quartz! - executing its JOB at "+
new Date() + " by " + context.getTrigger().getJobKey().getName());
}
}
實現Job接口中的execute方法,這個方法中是我們需要任務調度執行的具體內容
首先,創建JobDetail:
JobDetail jobDetail = JobBuilder.newJob(QuartzTestJob.class)
.withIdentity("testQuartzJob", "group1").build();
然后,創建Trigger:
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("myTrigger", "group1")
.startNow().withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(5).withRepeatCount(3)).build();
最后,獲取Scheduler,並啟動任務:
SchedulerFactory schedulerFactory = new StdSchedulerFactory(); Scheduler scheduler = schedulerFactory.getScheduler(); //添加job,以及其關聯的trigger scheduler.scheduleJob(jobDetail, trigger); //啟動job scheduler.start();
運行結果如下

