2017-04-24 77 views
1

我从几个不同的API中获取数据。他们是休息和肥皂web服务。我有一个ID,我逐一传递给每个API并获取数据。但每个API都需要几秒钟才能返回结果,因此我创建的最终响应对象需要花费太多时间。在春季并行执行多个不同方法的调用

我的申请是Spring 4 Rest服务。并行调用所有这些API的最佳方式是什么,以便尽可能减少响应时间。

谢谢。

回答

2

您可以使用@Async注释。你可以找到一个例子here

1

丹尼尔的答案是正确的,但我想补充更多的东西。如果你想用你的结果做一些事情,但不想用Future#阻止,那么我建议你使用CompletableFuture类。

它会让你添加将在其完成时触发的各种动作。 关于如何在Spring的@async注解中使用CompletableFuture,还有一篇非常不错的文章。在这里它的链接。 Completable futures with Spring async