1.測試用例java
package com.ninemax.application.quartz.version2; import org.quartz.CronScheduleBuilder; import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerFactory; import org.quartz.SimpleScheduleBuilder; import org.quartz.Trigger; import org.quartz.TriggerBuilder; import org.quartz.impl.StdSchedulerFactory; import com.ninemax.application.quartz.model.MyJob; @SuppressWarnings("all") public class SchedulerTest { public static void main(String[] args) { // 初始化調度器工廠SchedulerFactory SchedulerFactory schedulerFactory = new StdSchedulerFactory(); // 初始化調度器Scheduler Scheduler scheduler = null; try { // 建立一個調度器 scheduler = schedulerFactory.getScheduler(); // 建立jobDetail實例,綁定Job實現類 // 指明job的名稱,所在組的名稱,以及綁定job類 JobDetail job = JobBuilder .newJob(MyJob.class) .withIdentity("job1", "jgroup1") .build(); // 定義調度觸發規則 // 使用simpleTrigger規則(調用了9次) Trigger trigger1 = TriggerBuilder .newTrigger() .withIdentity("SimpleTrigger", "triggerGroup") .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(1).withRepeatCount(8)) .startNow() .build(); //使用cornTrigger規則 天天10點42分 Trigger trigger2=TriggerBuilder .newTrigger() .withIdentity("CornTrigger", "triggerGroup") .withSchedule(CronScheduleBuilder.cronSchedule("0 42 10 * * ? *")) .startNow() .build(); //把做業和觸發器註冊到任務調度中 scheduler.scheduleJob(job,trigger1); //啓動調度 scheduler.start(); } catch (Exception e) { e.printStackTrace(); } } }
2.domainapp
package com.ninemax.application.quartz.model; import java.util.Date; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class MyJob implements Job { @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { System.out.println("Quartz測試時間:" + new Date()); } }
3.運行結果:已忽略dom
remark:ide
Quartz1.0和Quartz2.0版本有很大的區別:測試
1.0利用類ui
2.0利用接口code