Spring可执行定时任务的线程池ThreadPoolTaskScheduler报错:required a bean of type that could not be found.

文章目录

    • 完整报错
    • 解决方法

完整报错

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-05-19 16:27:31,568 ERROR [restartedMain] o.s.b.d.LoggingFailureAnalysisReporter [LoggingFailureAnalysisReporter.java:40] 

***************************
APPLICATION FAILED TO START
***************************

Description:

Field taskScheduler in com.nowcoder.community.event.EventConsumer required a bean of type 'org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler' that could not be found.

The injection point has the following annotations:
	- @org.springframework.beans.factory.annotation.Autowired(required=true)


Action:

Consider defining a bean of type 'org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler' in your configuration.

Disconnected from the target VM, address: '127.0.0.1:50354', transport: 'socket'

Process finished with exit code 1

解决方法

项目中加一个类。

import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;

@Configuration
@EnableScheduling
//@EnableAsync		//使用@EnableAsync来开启异步的支持,使用@Async来对某个方法进行异步执行。
public class ThreadPoolConfig {
//不加这个配置类(配置类的名字无所谓)和@EnableScheduling注解,那么ThreadPoolTaskScheduler就无法注入(@Autowired),即无法初始化,无法得到一个ThreadPoolTaskScheduler的对象
}

你可能感兴趣的:(报错和解决,spring)