Quartz 的核心类有以下三部分:
Job : 需要实现的任务类,实现 execute() 方法,执行后完成任务。
Trigger : 包括 SimpleTrigger 和 CronTrigger。
Scheduler : 任务调度器,负责基于 Trigger触发器,来执行 Job任务。
简单示例
1.pom配置
2.创建Job
public class EplJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd hh:mm:ss");
System.out.println(LocalDateTime.now().format(formatter));
}
}
3.创建Tirgger 和 Scheduler
public class MyScheduler {
/**
* @param args
* @throws SchedulerException
*/
public static void main(String[] args) throws SchedulerException {
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
JobDetail job = JobBuilder.newJob(EplJob.class).withIdentity("England", "group1").build();
Trigger trigger = myTrigger();
scheduler.scheduleJob(job, trigger);
System.out.println("-----------------Job Start-----------------------------");
scheduler.start();
}
/**
* 0 15 15 ? * * : 表示每天下午3:15执行
* 0 15 10 ? * MON-FRI : 表示每个星期1 ~ 5的上午10:15执行
* 0 0 18 ? * FRI : 表示每个星期5的下午6点执行
* @return
*/
private static Trigger myTrigger() {
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "triggerGoup1")
.startNow()
.withSchedule(CronScheduleBuilder.cronSchedule("0 15 15 ? * *"))
.build();
return trigger;
}
}