转载

SpringBoot EnableAsync无效 Async注解不异步

1.没有在@SpringBootApplication启动类当中添加注解@EnableAsync注解。

2.异步方法使用注解@Async的返回值只能为void或者Future。

3.没有走Spring的代理类。因为@Transactional和@Async注解的实现都是基于Spring的AOP,而AOP的实现是基于动态代理模式实现的。那么注解失效的原因就很明显了,有可能因为调用方法的是对象本身而不是代理对象,因为没有经过Spring容器。

4. 如果你的异步方法所在类被Shiro注解过,需要在Autowired后面添加@Lazy注解。

原因可能是,shiro的框架启动的比较早,在Spring未启动前先将异步执行类加载到了容器里,导致该类所有的Spring注解不再生效。

原文  https://blog.csdn.net/mr_raptor/article/details/95254158
正文到此结束
Loading...