我的应用程序正在调用大约20个后端服务来收集数据,并且所有支持的服务都是基于soap的。每个后端服务返回一堆数据。以同步方式调用每个后端服务需要花费大量时间。什么是实现异步调用的最佳方法?我在应用程序中使用java和spring。
这可能是一种实现方法,使用spring的thread-pool-executor;
@Autowired
private ThreadPoolTaskExecutor executor;
为每个服务调用构建一个RestTemplate
,然后提交rest-template的get *方法,
Future<?> futureResponse = executor.submit(() -> restTemplate.getForObject(...))
并获得休止符futureResponse.get()