1.新建springboot项目并引入Quartz依赖
<!-- quartz -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
2.创建需要定时执行的任务类并继承QuartzJobBean,如果有多个定时任务则创建多个类,这里我们创建两个
/**
* @version:
* @Description: 定时执行的任务实体
* @author: koko
* @date: 2019年9月26日 上午10:51:27
*/
public class QuartzBean1 extends QuartzJobBean{
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("QuartzBean1----" + sdf.format(new Date()));
}
}
/**
* @version:
* @Description:
* @author: koko
* @date: 2019年9月26日 上午10:53:24
*/
public class QuartzBean2 extends QuartzJobBean{
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("QuartzBean2----" + sdf.format(new Date()));
}
}
3配置定时任务执行时间
/**
* @version:
* @Description:
* @author: koko
* @date: 2019年9月26日 上午10:54:45
*/
@Configuration
public class QuartzConfig {
@Bean
public JobDetail testQuartz1() {
return JobBuilder.newJob(QuartzBean1.class).withIdentity("QuartzBean1").storeDurably().build();
}
@Bean
public Trigger testQuartzTrigger1() {
//设置执行时间间隔,支持时分秒
// SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule()
// .withIntervalInSeconds(10)
// .repeatForever();
return TriggerBuilder.newTrigger().forJob(testQuartz1())
.withIdentity("QuartzBean1")
.withSchedule(CronScheduleBuilder.cronSchedule("*/10 * * * * ?"))
.build();
}
@Bean
public JobDetail testQuartz2() {
return JobBuilder.newJob(QuartzBean2.class).withIdentity("QuartzBean2").storeDurably().build();
}
@Bean
public Trigger testQuartzTrigger2() {
//cron方式,每隔5秒执行一次
return TriggerBuilder.newTrigger().forJob(testQuartz2())
.withIdentity("QuartzBean2")
.withSchedule(CronScheduleBuilder.cronSchedule("*/5 * * * * ?"))
.build();
}
}
然后启动项目日志打印如下