@Async不起作用

导读:本篇文章讲解 @Async不起作用,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

首先介绍一下如何@Async注解,

1xml头文件必须配置标记红色部分

@Async不起作用

2配置任务和线程池

<!-- 任务及线程池 -->
<task:annotation-driven executor="asyncExecutor" />
 <task:executor id="asyncExecutor" pool-size="100-10000" queue-capacity="10"/>
 <!-- 注解扫描 -->
<context:component-scan base-package="com.baisq">
 <context:include-filter type="annotation"
	expression="org.springframework.stereotype.Controller" />
</context:component-scan>


3配置spring依赖的jar(不介绍这个了)

4在你需要异步调用的方法上使用@Async注解

@Async不起作用

5但是你可能遇到@Async不起作用的时候,我就遇到了,我的问题是容器启动加载了如下两个xml文件

@Async不起作用

springmvc.xml文件仅仅配置扫描注解,applicationContext.xml配置了任务和线程池和扫描注解,先加载了applicationContext.xml,后加载了springMvc.xml。

applicationContext.xml为扫描到的类加上@Async的作用(任务和线程池的配置依赖于扫描到的类),然后springMvc加载后的bean覆盖了applicationContext的bean,覆盖掉了@Async的作用,因为springmvc没有配置任务和线程池,

导致@Async没有起到作用。

6如果你遇到上述问题,检查一下加载的xml文件是否存在覆盖的问题。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/14846.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!