news 2026/8/18 7:47:11

记录:Spring异步执行的报异常No qualifying bean of type ‘org.springframework.core.task.TaskExecutor‘ available

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
记录:Spring异步执行的报异常No qualifying bean of type ‘org.springframework.core.task.TaskExecutor‘ available

问题:

观察项目运行日志的时候突然发现了一个异常:

无TaskExecutor 注入的情况

[2018-04-03 10:49:07] 100.0.1.246 http-nio-8080-exec-9 DEBUG org.springframework.scheduling.annotation.AnnotationAsyncExecutionInterceptor———— Could not find default TaskExecutor bean org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.core.task.TaskExecutor' available at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:353) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:340) at org.springframework.aop.interceptor.AsyncExecutionAspectSupport.getDefaultExecutor(AsyncExecutionAspectSupport.java:228) at org.springframework.aop.interceptor.AsyncExecutionInterceptor.getDefaultExecutor(AsyncExecutionInterceptor.java:156) at org.springframework.aop.interceptor.AsyncExecutionAspectSupport.determineAsyncExecutor(AsyncExecutionAspectSupport.java:166) at org.springframework.aop.interceptor.AsyncExecutionInterceptor.invoke(AsyncExecutionInterceptor.java:105) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) at com.sun.proxy.$Proxy103.saveAndSendMQ(Unknown Source)

或者,TaskExecutor 这个类有两个的情况(matching bean but found 2:applicationTaskExecutor,taskScheduler):

2025-12-11 11:03:00,895 DEBUG 24516 --- [main] [] .s.a.AnnotationAsyncExecutionInterceptor : Could not find unique TaskExecutor bean. Continuing search for an Executor bean named 'taskExecutor' org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 'org.springframework.core.task.TaskExecutor' available: expected single matching bean but found 2: applicationTaskExecutor,taskScheduler at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1273) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:494) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:349) at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:342) at org.springframework.aop.interceptor.AsyncExecutionAspectSupport.getDefaultExecutor(AsyncExecutionAspectSupport.java:233) at org.springframework.aop.interceptor.AsyncExecutionInterceptor.getDefaultExecutor(AsyncExecutionInterceptor.java:157) at org.springframework.aop.interceptor.AsyncExecutionAspectSupport.lambda$configure$2(AsyncExecutionAspectSupport.java:119) at org.springframework.util.function.SingletonSupplier.get(SingletonSupplier.java:100) at org.springframework.aop.interceptor.AsyncExecutionAspectSupport.determineAsyncExecutor(AsyncExecutionAspectSupport.java:172) at org.springframework.aop.interceptor.AsyncExecutionInterceptor.invoke(AsyncExecutionInterceptor.java:107) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
  • applicationTaskExecutor:Spring Boot 默认的异步任务执行器(由TaskExecutionAutoConfiguration自动配置)。
  • taskScheduler:Spring Boot 默认的任务调度器(由TaskSchedulingAutoConfiguration自动配置),其类型也实现了TaskExecutor,因此会被识别为同类型 Bean。
Bean 名称自动配置类核心用途为什么是 TaskExecutor 类型
applicationTaskExecutorTaskExecutionAutoConfiguration处理异步任务(如@Async注解)直接实现TaskExecutor
taskSchedulerTaskSchedulingAutoConfiguration处理定时任务(如@Scheduled实现类ThreadPoolTaskScheduler同时继承TaskExecutor

异常属于DEBUG级别,并不影响系统运行,但是还是比较碍眼

解决:

在配置类中实现AsyncConfigurer接口,注册taskExecutor执行任务,即可,图和代码如下

package common.core.config; import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.AsyncConfigurer; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import java.util.concurrent.Executor; /** * @ClassName TaskExecutorConfig * @Description 实现AsyncConfigurer接口,指定异步执行的线程池 * @Date 2025/12/11 11:18 * @Version 1.0 */ @Configuration public class TaskExecutorConfig implements AsyncConfigurer { @Override public Executor getAsyncExecutor() { ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); taskExecutor.setCorePoolSize(10); taskExecutor.setMaxPoolSize(80); taskExecutor.setQueueCapacity(100); taskExecutor.initialize(); return taskExecutor; } @Override public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() { return null; } }

引用:

1、https://www.cnblogs.com/java-spring/p/8707789.html

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/18 10:13:09

Wan2.2-T2V-A14B能否生成带有品牌LOGO的定制视频

Wan2.2-T2V-A14B能否生成带有品牌LOGO的定制视频 在数字营销的战场上,每一秒都价值千金。你有没有遇到过这样的场景:市场部急着要一条新品发布的宣传视频,设计师还在熬夜改第八版分镜,而发布会倒计时已经进入48小时?&a…

作者头像 李华
网站建设 2026/8/18 17:07:17

Wan2.2-T2V-A14B如何确保画面美学与艺术风格一致性?

Wan2.2-T2V-A14B如何确保画面美学与艺术风格一致性? 你有没有遇到过这样的情况:输入一段诗意的描述,比如“穿汉服的少女在落樱中起舞,光影柔和,色调统一为粉白与朱红”,结果生成的视频前两秒是水墨风&#…

作者头像 李华
网站建设 2026/8/18 16:29:48

构建高效计算机专业课记忆系统:模块化方法论指南

构建高效计算机专业课记忆系统:模块化方法论指南 【免费下载链接】CS-Xmind-Note 计算机专业课(408)思维导图和笔记:计算机组成原理(第五版 王爱英),数据结构(王道)&…

作者头像 李华
网站建设 2026/8/18 19:22:37

探索 A*与 DWA 融合:小白也能懂的路径规划算法之旅

AStar搜索算法,A*和DWA算法融合,适合小白学习哦 程序效果如图所示最近在研究路径规划算法,发现 A*和 DWA 算法都各有千秋,要是把它们融合起来,那效果简直绝了。今天就来跟各位小白分享下这俩算法以及它们融合后的神奇之…

作者头像 李华
网站建设 2026/8/18 8:12:10

计算机毕设java校园志愿服务管理系统 基于Java的校园志愿活动信息化管理系统设计与实现 Java技术驱动的校园志愿服务管理平台开发

计算机毕设java校园志愿服务管理系统a9y349(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着互联网技术的飞速发展,校园志愿服务管理的方式也在不断革新。传统的纸…

作者头像 李华
网站建设 2026/8/18 18:58:42

企业级可观测平台哪家好:全球6家智能可观测厂商实力排名

Gartner预测,到2027年,超过50%的企业将使用可观测性技术来优化业务决策,这一比例远高于2022年的不足20%。现代分布式架构、微服务、容器化和多云环境使得传统的监控手段已无法满足企业对系统状态全面洞察的需求。 面对市场上众多的可观测解决…

作者头像 李华