Spring Boot集成了WebSocket后使用Spring的定时任务报错:org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named ‘defaultSockJsTaskScheduler’ is expected to be of type ‘org.springframework.scheduling.TaskScheduler’ but was actually of type ‘org.springframework.beans.factory.support.NullBean’
原因:同时使用开启 websocket 和 spring 的定时任务注解 ,导致Bean工厂会返回一个空的定时任务Bean,具体原因没有仔细研究
@EnableWebSocket
和@EnableScheduling
解决办法: 自己创建一个Bean交给Spring IOC容器管理
@Configuration
public class ScheduledConfig {
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler scheduling = new ThreadPoolTaskScheduler();
scheduling.setPoolSize(10);
scheduling.initialize();
return scheduling;
}
}