Quartz 是一款 Java 平臺上開源的任務調度器。html
compile "org.quartz-scheduler:quartz:2.3.0" compile "org.quartz-scheduler:quartz-jobs:2.3.0"
// 從工廠中獲取 Scheduler 對象 Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); // 啓動 scheduler.start();
public class TestJob implements Job{ @Override public void execute(JobExecutionContext context) throws JobExecutionException { System.err.println("Hello World! TestJob is executing."); } }
// 添加 Job 的攜帶數據 JobDetail job = newJob(TestJob.class).withIdentity("job1", "group1").build(); // 新建一個觸發器 Trigger trigger = newTrigger().withIdentity("trigger1", "group1") .startNow() .withSchedule(simpleSchedule().withIntervalInSeconds(5) .repeatForever()) .build(); // 開始調度 scheduler.scheduleJob(job, trigger);
Quartz 的 Cron 表達式不一樣於 Linux 系統上使用的 Cron 表達式。區別以下:java
# Linux minute hour day month week # Quartz second minute hour day month week year(optional field)
是的,Quartz 擴充了 second 和 year,這是要特別注意的。linux
關於 Quartz Cron 表達式每一個字段的取值,整理以下:git
字段中使用的特殊字符跟 Linux 無異,以下:github