文章目錄
-
-
- SpringBoot使用條件
- Async使用注意事項
- 同類中方法調用注解失效
- 報錯: No thread-bound request found
-
Springboot中當我們需要方法異步調用時,一般可以通過建立線程池的方法異實作異步,在Spring中也可以通過@Async注解達到異步調用的效果,被Async标注的方法或類,會開啟一個子線程。
SpringBoot使用條件
- 方法上加@Async注解
- 啟動類或者配置類上@EnableAsync
Async使用注意事項
1)傳回值:不要傳回值直接void;需要傳回值用AsyncResult或者CompletableFuture
2)可自定義執行器并指定例如:@Async(“otherExecutor”)
3)@Async 必須不同類間調用: A類–》B類.C方法()(@Async注釋在B類/方法中),如果在同一個類中調用,會變同步執行,例如:A類.B()–>A類[email protected] C(),原因是:底層實作是代理對注解掃描實作的,B