导入依赖
<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>
//调度器工厂
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
//1、创建调度器Scheduler
Scheduler scheduler = schedulerFactory.getScheduler();
// 2、创建JobDetail实例,并与PrintWordsJob类绑定(Job执行内容)
//链式调用,自己调用自己,自己返回自己,用来设置信息?
JobDetail jobDetail = JobBuilder.newJob(EmailTime.class)
.withIdentity("job1", "group1")
.build();
// 将我们的数绑定到我们的job对象 Map中
jobDetail.getJobDataMap().put("msg", email);
// 3、构建Trigger实例,定时执行的trigger
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("trigger1", "triggerGroup1")
.startAt(email.getSendEmailTaskTime()) //开始执行时间
.withSchedule(SimpleScheduleBuilder.simpleSchedule())
.build();
//将我们的工作和触发器添加到我们调度器中
scheduler.scheduleJob(jobDetail, trigger);
scheduler.start();
需要定时执行的方法,需要类继承Job类,然后重写execute方法
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
Email email = ((Email) jobExecutionContext.getJobDetail().getJobDataMap().get("msg"));
}