1、创建定时运行的类,并添加注解,如:
@Component
@EnableScheduling
public class DingShiJob {
}
2、添加需要执行的方法,并添加注解(执行的频率),如:
//每5秒执行一次
@Scheduled(cron = "*/5 * * * * * ")
public void sync1() throws InterruptedException {
}
//每5秒执行一次
@Scheduled(cron = "*/5 * * * * * ")
public void sync2() throws InterruptedException {
}
3、定时默认是单线程的,如果写了多个方法,下一个方法的运行必须要等上一个方法运行完才能运行,因此,当前的类上需要增加下面的代码,使程序可以多个方法同时运行,如:
//创建定时任务线程池
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.setPoolSize(10);//允许同时最多10个线程存在
return taskScheduler;
}
本文介绍了如何在SpringBoot中创建定时任务,并通过注解设置执行频率。示例展示了如何使用@EnableScheduling开启定时任务,以及@Scheduled注解来定义每5秒执行一次的任务。同时,为了解决定时任务单线程执行的问题,文章还提供了创建定时任务线程池的配置,通过ThreadPoolTaskScheduler实现多线程并行执行任务的能力。
892

被折叠的 条评论
为什么被折叠?



