@Scheduled为springboott集成了一个定时调度。@Scheduled注解的定时任务是单线程的,同一时间段内只能执行一个定时任务,其它定时任务不执行。
为解决同一时间无法执行多任务,可以通过配置类,同时启动类添加注解@EnableScheduling。
@Configuration
public class ScheduledConfig {
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.setPoolSize(20);
return taskScheduler;
}
}
也可以将@Bean相关内容放置在启动类中。