J2EE中用的最多的任務調度框架應該就是Quartz了,最近比較悠閒,就來詳細瞭解一下Quartz;用這個博客來記錄下學習心得,若有錯誤之處,還請各位大神指點。java
下面是一個簡單的例子,建立一個簡單的任務調度。
建立一個Job,名爲HelloJob:框架
public class HelloJob implements Job{ @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { System.out.println("hello job, "+ DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss")); } }
實現Job接口中的execute方法,這個方法中是咱們須要任務調度執行的具體內容,這裏咱們只簡單打印「hello job」字符串和當前時間。ide
而後咱們就能夠編寫一個測試類,來執行Job。
首先,建立JobDetail:學習
JobDetail jobDetail = JobBuilder.newJob(HelloJob.class) .withIdentity("helloJob", "group1") .build();
而後,建立Trigger:測試
Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("myTrigger","group1") .startNow() .withSchedule( SimpleScheduleBuilder.simpleSchedule() //每5s運行一次 .withIntervalInSeconds(5) //重複運行3次 .withRepeatCount(3) ).build();
最後,獲取Scheduler,並啓動任務:ui
SchedulerFactory schedulerFactory = new StdSchedulerFactory(); Scheduler scheduler = schedulerFactory.getScheduler(); //添加job,以及其關聯的trigger scheduler.scheduleJob(jobDetail, trigger); //啓動job scheduler.start();
運行結果,以下圖: spa