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;
}