SpringBoot创建定时任务有三种方式:
- 基于注解(@Scheduled)
- 基于接口(SchedulingConfigurer)
- 基于注解设定多线程定时任务
此任务使用了Springboot基于注解(@Scheduled)的调度器,所以我们将重点讲解基于注解(@Scheduled)的调度器,其他调度器可以参照,比对学习。
@Scheduled注解默认是串行的,单线程,当开启多个任务时,任务的执行时间会受上一个任务执行时间的影响
@Configuration
@EnableScheduling //开启调度器
public class WorkOrderScheduleTask {
//每10秒执行一次
@Scheduled(cron = "0/10 * * * * ?")
private void workOrderSchedulerCron() {
System.out.println("cron:每10秒执行一次......");
}
}
一个完整的controller文件
package com.jiker.workorderms.controller;
import com.jiker.workorderms.service.WorkOrderService;