可以在接口方法上使用Spring @Async
注释(因此该接口的所有实现都将在该方法上隐式具有@Async
),还是只能在具体类上使用?
答案 0 :(得分:12)
我快速测试了它,并且在接口上使用@Async
将使实现异步。
如果您想自己尝试一下:您可以通过检查Thread.currentThread().getId()
的值是否不同(在调用方法之前和方法内部)或仅在Thread.sleep(10000);
中添加void
来轻松测试预期方法是异步的。
另请注意,返回类型必须为java.util.concurrent.Future
或{{1}}。
答案 1 :(得分:4)