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