默认情况下,使用spring的@Scheduled定时任务,默认是单线程的,如果一个项目中有多个定时任务,需要配置线程池,配置如下
@Configuration
public class SchedulingConfigurerConfiguration implements SchedulingConfigurer {
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.setPoolSize(30);
taskScheduler.initialize();
taskRegistrar.setTaskScheduler(taskScheduler);
}
}