0
我有Spring服務,它執行一些任務後,啓動一個背景異步任務。我已經定義爲一個組件的任務本身。 現在,如果我必須使用屬於我發起線程的服務的一些方法。我可以在線程(組件)中自動裝載服務,它將起作用。問題是...設計。它帶來了一種循環依賴? 我們如何解決這個問題?設計:Spring服務的後臺線程
ServiceA->啓動ThreadA組件 - > ThreadA需要調用ServiceA中的方法。
我有Spring服務,它執行一些任務後,啓動一個背景異步任務。我已經定義爲一個組件的任務本身。 現在,如果我必須使用屬於我發起線程的服務的一些方法。我可以在線程(組件)中自動裝載服務,它將起作用。問題是...設計。它帶來了一種循環依賴? 我們如何解決這個問題?設計:Spring服務的後臺線程
ServiceA->啓動ThreadA組件 - > ThreadA需要調用ServiceA中的方法。
什麼如所描述使用@Async註解的方法here
非測試例如:
@Service
public class MyService {
private final RestTemplate restTemplate;
public String mySyncMethod(){
return "Hello World";
}
@Async
public Future<String> myAsyncMethod() throws InterruptedException {
return new AsyncResult<>(mySyncMethod());
}
}