0
如果您願意,我需要一些建議。我需要從我的spring應用程序並行調用幾個異步服務。我的意思是:代碼應該和最慢的異步任務一樣慢在Spring中實現異步服務並行處理的最佳方式
我已經用以下方式對它進行了編碼,但我不太確定這是否是最好的方法。可能不是xD。實際上,我並不習慣java8 lambdas和流媒體,所以我可能是一個改進點。
```
@Service
@Qualifier("service1")
public class Service1 implements IService {
@Async("processExecutor")
public AsyncResult<MyResult> doStuff(Stuff input){
return new AsyncResult<Optional<MyResult>>(callStuff(input));
}
}
@Service
@Qualifier("service2")
public class Service2 implements IService {
@Async("processExecutor")
public AsyncResult<MyResult> doStuff(Stuff input){
return new AsyncResult<Optional<MyResult>>(callStuff(input));
}
}
@Service
@Qualifier("service3")
public class Service3 implements IService {
@Async("processExecutor")
public AsyncResult<MyResult> doStuff(Stuff input){
return new AsyncResult<Optional<MyResult>>(callStuff(input));
}
}
,然後在另一個春天的服務,我有以下的東西:
```
AsyncResult<MyResult>aResult1=service1.doStuff(input);
AsyncResult<MyResult>aResult2=service2.doStuff(input);
AsyncResult<MyResult>aResult3=service3.doStuff(input);
MyResult result1= aResult1.get();
MyResult result2= aResult2.get();
MyResult result2= aResult3.get();
你點我在正確的方向,如果你能夠?
非常感謝!
謝謝@chenjun!我會試試看! – Bringer