java - Akka future list - 如何等待 future list 完成?

标签 java akka

新手这里...

我在域对象集合上有一个非常简单的可调用对象。在使用 future 时,我关心的是真正知道所有 future 何时完成。

所以我正在创建一个 futures 集合,遍历我的域对象,创建一个 future(带有可调用对象)并将其添加到 futures 集合中。

假设可调用函数返回一个 boolean 值,我如何确定所有的 future 都已完成。

哦!我想等到处理完这个集合后再处理另一个集合,因为第二个收集过程依赖于第一个。

感谢任何帮助。

不同的说法: 我怎样才能等待数组的所有项目完成?我是否必须迭代并等待每个?

ArrayList<Future<Object>> responses = new ArrayList<Future<Object>>();

PS:在 JAVA 中编码,也对 PartialFunctions 等的使用感到困惑,关于可能应用过滤器、计数和比较集合大小作为可能的解决方案...

最佳答案

好的 - 通过执行以下操作解决了它:

Await.result(seq, Duration.create("5 seconds"));

在哪里

Future<Iterable<Boolean>> seq = Futures.sequence(futures, ec);

futures是 future 的集合,即 ArrayList<Future<Boolean>> .

关于java - Akka future list - 如何等待 future list 完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17413883/

相关文章:

java - 多模块应用程序maven

java - 在 Akka 中修改了 hello world - 为什么有这么多丢失的消息和死信?

java - Akka DeathWatch - 查找终止原因

scala - Akka HTTP 客户端 EntityStreamSizeException

scala - 在 Akka 中暂停 Actor

java - Mockito 无法创建 @Autowired Spring-Data Repository 的 Spy

java - Android 阻止 onPause 在父类中被调用

java - 如何在java中将字符串UTF-8转换为ANSI?

java - 在 Java 8 中使用 MongoDB MongoClient 检索一个文档

akka - 如何对 Actor 集合进行查询