@Async不起作用

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

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

@Async不起作用_第1张图片

2配置任务和线程池



 
 

 

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

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

@Async不起作用_第2张图片

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


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

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

导致@Async没有起到作用。

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


你可能感兴趣的:(线程)