今天使用Scheduled跑一些统计数据,发现,我另外的一个定时任务跑不起来了
后来才发现由于我统计任务的跑的时间很长,其他的任务都不执行了
仔细研究之下,才知道Scheduled默认使用单线程,只有等当前任务执行完成了,后面的任务才能继续跑,那么怎么改成多线程呢?只要加个配置就可以了
@Configuration
public class ScheduledConfig {
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.setPoolSize(10);
return taskScheduler;
}
}