引入jar包
<!--任务调度框架quartz-->
<!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
定时任务作业主调度程序
- 创建任务调度器(好比公交调度站)
- 创建一个任务(好比某一个公交车的出行)
- 创建任务的时间触发器(好比这个公交车的出行时间表)
- 使用任务调度器根据时间触发器执行我们的任务
public class DemoJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("我是一个定时任务执行逻辑");
}
}
public class QuartzMan {
public static Scheduler createScheduler() throws SchedulerException {
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
return scheduler;
}
public static JobDetail createJob() {
JobBuilder jobBuilder = JobBuilder.newJob(DemoJob.class);
jobBuilder.withIdentity("jobName", "myJob");
JobDetail jobDetail = jobBuilder.build();
return jobDetail;
}
public static Trigger createTrigger() {
CronTrigger cronTrigger = TriggerBuilder.newTrigger()
.withIdentity("triggerName", "myTrigger")
.startNow()
.withSchedule(CronScheduleBuilder.cronSchedule("*/2 * * * * ?")).build();
return cronTrigger;
}
public static void main(String[] args) throws SchedulerException {
Scheduler scheduler = QuartzMan.createScheduler();
JobDetail job = QuartzMan.createJob();
Trigger trigger = QuartzMan.createTrigger();
scheduler.scheduleJob(job, trigger);
scheduler.start();
}
}