quartz:Trigger:觸發job時間和結束時間
1 package com.imooc.demo.helloQuartz; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Date; 5 6 import org.quartz.JobBuilder; 7 import org.quartz.JobDetail; 8 import org.quartz.Scheduler; 9 import org.quartz.SchedulerException; 10 import org.quartz.SchedulerFactory; 11 import org.quartz.SimpleScheduleBuilder; 12 import org.quartz.Trigger; 13 import org.quartz.TriggerBuilder; 14 import org.quartz.impl.StdSchedulerFactory; 15 16 public class HelloScheduler { 17 18 public static void main(String[] args) throws SchedulerException { 19 Date date = new Date(); 20 SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 21 //獲取距離當前時間3秒后的時間 22 date.setTime(date.getTime()+3000); 23 //獲取距離當前時間6秒后的時間 24 Date endTime=new Date(); 25 endTime.setTime(endTime.getTime()+6000); 26 // 創建一個jobDatail實例,將該實力與helloJob綁定 27 JobDetail detail = JobBuilder.newJob(HelloJob.class).withIdentity("myJob") 28 .build(); 29 30 // 創建一個Trigger實例,定義該job立即執行,並且在每隔2秒重復執行 31 Trigger trigger = TriggerBuilder 32 .newTrigger() 33 .withIdentity("myTrigger", "group1") 34 .startAt(date) 35 .endAt(endTime) 36 .withSchedule( 37 SimpleScheduleBuilder.simpleSchedule() 38 .withIntervalInSeconds(2).repeatForever()) 39 .build(); 40 // 創建Scheduler實例 41 SchedulerFactory factory = new StdSchedulerFactory(); 42 Scheduler scheduler = factory.getScheduler(); 43 scheduler.start(); 44 45 System.out.println("Current Exec Time Is:" + sf.format(date) + "-----"); 46 // 把jobDetail和Trigger與scheuler綁定在一起:觸發啟動 47 scheduler.scheduleJob(detail, trigger); 48 } 49 }
startAt();
endAt();