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