Quartz依賴的jar包,pom以下:java
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.1</version> </dependency>
Java代碼程序入口以下以下:ide
1 package com.test.quartz; 2 3 import java.util.Date; 4 5 import org.quartz.CronScheduleBuilder; 6 import org.quartz.JobBuilder; 7 import org.quartz.JobDetail; 8 import org.quartz.Scheduler; 9 import org.quartz.Trigger; 10 import org.quartz.TriggerBuilder; 11 import org.quartz.impl.StdSchedulerFactory; 12 13 14 /** 15 * 任務調度入口類 16 * @author vince 17 * @version 1.0 18 */ 19 public class ScheduleEntrance { 20 21 //定時任務啓動入口 22 public static void main(String[] args) { 23 try { 24 25 //建立scheduler 26 Scheduler scheduler = new StdSchedulerFactory().getScheduler(); 27 28 //當前時間 29 long time= System.currentTimeMillis() + 3 * 1000L; //幾秒後啓動任務 30 Date startTime = new Date(time); 31 32 //建立一個Trigger 33 Trigger trigger = TriggerBuilder.newTrigger() 34 .withDescription("This is a DS trigger.") 35 .withIdentity("DSTrigger", "DSTriggerGroup") 36 .startAt(startTime) 37 .withSchedule(CronScheduleBuilder.cronSchedule("*/5 * * * * ?")) 38 .build(); 39 40 //定義一個job 41 JobDetail jobDetail = JobBuilder.newJob(DSJob.class) 42 .withDescription("This is a DS job.") 43 .withIdentity("DSJob", "DSGroup") 44 .build(); 45 46 //註冊任務和定時器 47 scheduler.scheduleJob(jobDetail, trigger); 48 49 //啓動調度器 50 scheduler.start(); 51 52 } catch (Exception e) { 53 e.printStackTrace(); 54 } 55 } 56 57 }
Job類以下:ui
1 package com.test.quartz; 2 3 4 import org.quartz.Job; 5 import org.quartz.JobExecutionContext; 6 import org.quartz.JobExecutionException; 7 8 9 /** 10 * 數據同步任務類 11 * @author vince 12 * @version 1.0 13 */ 14 public class DSJob implements Job{ 15 16 @Override 17 public void execute(JobExecutionContext arg0) throws JobExecutionException { 18 19 System.out.println("------- Hello Quartz ! ------"); 20 21 } 22 23 }
執行結果:spa