關於Quartz:http://www.quartz-scheduler.org/java
一、Job接口:該接口只有一個方法ui
void execute(JobExecutionContext context)
開發者實現該接口定義須要執行的任務。JobExecutionContext類提供調度上下文的各類信息code
二、JobDetail:用於描敘Job實現類及其餘的一些靜態信息接口
三、Trigger:描敘觸發Job執行的時間觸發規則開發
四、Calendar文檔
五、Scheduler:運行容器,使用SchedulerFactory建立Scheduler實例get
六、More...it
代碼示例:io
一、使用Quartz,須要實現Job接口;
class
public class TestJob implements Job { public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("Hello World! - " + new Date()); //do more... } }
二、調度【比較簡單,直接看代碼就能夠了】
public class quartzTest { public static void main(String args[]) throws SchedulerException, ParseException { JobDetail jobDetail= JobBuilder.newJob(TestJob.class) .withIdentity("testJob_1","group_1") .build(); Trigger trigger= TriggerBuilder .newTrigger() .withIdentity("trigger_1","group_1") .startNow() .withSchedule(SimpleScheduleBuilder.simpleSchedule() .withIntervalInSeconds(10) //時間間隔 .withRepeatCount(5) //重複次數(將執行6次) ) .build(); SchedulerFactory sf = new StdSchedulerFactory(); Scheduler sched = sf.getScheduler(); sched.scheduleJob(jobDetail,trigger); sched.start(); } }
這裏使用的是2.2.1版本,參考官方文檔的示例。看到一些參考書使用的版本比較老,因此會有一些出入,不少方法都被棄用了,因此仍是直接看文檔比較實在。