spring使用TashScheduler定时任务会在日志中有异常
org.springframework.beans.factory.NoSuchBeanDefinitionException:No qualifying bean of type 'java.util.concurrent.ScheduledExecutorService' available
该报错不会影响定时任务的使用,但是以异常的形式在日志中存在。
解决办法,将其注册成spring中的bean,我是通过代码实现其注册的。
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
/**
* 作用:解决使用spring定时任务taskScheduler日志出现异常的问题
*/
@Configuration
@EnableScheduling
public class MySpringConfig {
/**
* 注册TaskScheduler
* @return 抛出找不到TaskScheduler后的异常内容
*/
@Bean
public TaskScheduler taskScheduler(){
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.setPoolSize(8);
scheduler.setThreadNamePrefix("scheduled-thread-");
return scheduler;
}
}