最近公司新增业务需要用到多个定时任务,特意在此记录
1、导入包
<!--引入quartz定时框架-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
2、新建2个定时任务。
- 定时任务1
public class MyIncomeInformationTask extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println(" 定时任务1 " );
}
}
- 定时任务2
public class MyIncomeInformationTask2 extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println(" 定时任务2 " );
}
}
3、配置文件QuartzConfig2
@Configuration
public class QuartzConfig {
/*============================================================定时任务配置1============================================================*/
//指定具体的定时任务类
@Bean
public JobDetail uploadTaskDetail() {
return JobBuilder.newJob(MyIncomeInformationTask.class).withIdentity("MyHkInformationTask").storeDurably().build();
}
//配置触发器
@Bean
public Trigger uploadTaskTrigger() {
//TODO 这里设定执行方式
//每两秒执行一次
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/2 * * * * ?");
return TriggerBuilder.newTrigger().forJob(uploadTaskDetail())
.withIdentity("MyHkInformationTask")
.withSchedule(scheduleBuilder)
.build();
}
/*============================================================定时任务配置1============================================================*/
/*============================================================定时任务配置2============================================================*/
//指定具体的定时任务类
@Bean
public JobDetail uploadTaskDetail2() {
return JobBuilder.newJob(MyIncomeInformationTask2.class).withIdentity("MyHkInformationTask2").storeDurably().build();
}
//配置触发器
@Bean
public Trigger uploadTaskTrigger2() {
//TODO 这里设定执行方式
//每五秒执行一次
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/5 * * * * ?");
return TriggerBuilder.newTrigger().forJob(uploadTaskDetail2())
.withIdentity("MyHkInformationTask2")
.withSchedule(scheduleBuilder)
.build();
}
/*============================================================定时任务配置2============================================================*/
}
4、启动项目运行
注意!,注意!,注意!
QuartzConfig所在类的包一定要被spring容器扫描到,否则定时任务不会生效。