关于java:异步

@Async 注解的。

生效起因:

1.@SpringBootApplication 启动类当中没有增加 @EnableAsync 注解。
2.没有走 Spring 的代理类。因为 @Transactional 和 @Async 注解的实现都是基于 Spring 的 AOP,而 AOP 的实现是基于动静代理模式实现的。那么注解生效的起因就很显著了,有可能因为调用办法的是对象自身而不是代理对象,因为没有通过 Spring 容器治理。
很显然,我这个状况合乎第一种状况,没有增加 @EnableAsync 注解。

如果被 @Async 注解润饰的办法,返回值只能是 void 或者 Future。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理