1.配置pom引入jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
<version>2.3.5.RELEASE</version>
</dependency>
2.创建Job类,继承QuartzJobBean
package com.etc.job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
import org.springframework.stereotype.Component;
@Component
public class MyJob extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
System.out.println("我的任务执行");
}
}
3.配置QuartzConfig配置类
package com.etc.config;
import com.etc.job.MyJob;
import org.quartz.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class QuartzConfig {
//该方法将jabDetail交个spring容器管理
@Bean//主键作用:将方法返回值交给spring管理
public JobDetail getJobDetail(){
return JobBuilder.newJob(MyJob.class).withIdentity("myJob").storeDurably().build();
}
@Bean
public CronTrigger getCronTrigger(){
//1.获取cronScheduleBuilder对象
CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule("0/2 * * * * ?").withMisfireHandlingInstructionDoNothing();
//2.获取cronTrigger对象
CronTrigger CronTrigger = TriggerBuilder.newTrigger().forJob(getJobDetail())
.withIdentity("cronTrigger").withDescription("这是触发器").startNow()
.withSchedule(cronScheduleBuilder).build();
return CronTrigger;
}
}