tomcat启动加载spring容器时,如果spring使用TaskScheduler开启了debug模式,会造成Spring找不到默认TaskScheduler/ScheduledExecutorService的bean,从而启动的时候出现ScheduledExecutorService异常的日志。该报错不会影响定时任务的使用,但是以异常的形式在日志中存在。
解决方案
1.修改日志模式
logging.level.org.springframework.scheduling=info
2.代码注册成spring中的bean
两种方式任选一种即可,主要是完成TaskScheduler类bean的注册
@Bean
public TaskScheduler taskScheduler() {
return new ConcurrentTaskScheduler(); //single threaded by default
}
@Bean
public TaskScheduler taskScheduler(){
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.setPoolSize(10);
scheduler.setThreadNamePrefix("scheduled-thread-");
return scheduler;
}
3.xml配置文件方式
<task:scheduler id=“scheduler” pool-size=“10”/>