SimpleTrigger
阿新 • • 發佈:2019-01-06
SimpleTrigger:在指定時間執行一次任務,或在指定時間執行多次任務。
重複次數可以是0,正整數,或者是SimpleTrigger.REPEAT_INDEFINITELY無限重複。
重複執行間隔必須為0或長整數
endTime覆蓋重複次數
package com.huiandong; import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; import java.text.SimpleDateFormat; import java.util.Date; public class QTest { public static void main(String[] args) throws SchedulerException { Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format = sdf.format(date); //建立一個JobDetail示例,將該例項與HelloJobClass繫結 JobDetail jobD = JobBuilder.newJob(QuartzJob.class) .withIdentity("quartz1") .build(); date.setTime(date.getTime()+4000); Date date2 = new Date(); date2.setTime(date2.getTime()+6000); //建立一個Trigger例項,定義該job立即執行,每隔2s重複執行 //距離當前時間4s後執行且執行一次 SimpleTrigger trig = (SimpleTrigger)TriggerBuilder.newTrigger() .withIdentity("Trigger", "group1") .withSchedule (SimpleScheduleBuilder.simpleSchedule().withIntervalInMilliseconds(2000) // .withRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY))//永遠執行 .withRepeatCount(3))//第一次執行後接著執行3次 .startAt(date) .endAt(date2)//優先於執行次數 .build(); //建立scheduler例項 SchedulerFactory sf=new StdSchedulerFactory(); Scheduler sche = sf.getScheduler(); sche.start(); System.out.println(format); sche.scheduleJob(jobD,trig); } }
package com.huiandong;
import org.quartz.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class QuartzJob implements Job{
public void execute(JobExecutionContext jec) throws JobExecutionException {
//列印當前的執行時間,格式為2017-01-01 00:00:00
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = sdf.format(date);
System.out.println(date);
System.out.println("hello world");
}
}