Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Akka Essentials使用Java8:返回第一个示例的结果_Java_Akka_Reactive Programming - Fatal编程技术网

Akka Essentials使用Java8:返回第一个示例的结果

Akka Essentials使用Java8:返回第一个示例的结果,java,akka,reactive-programming,Java,Akka,Reactive Programming,我使用Akka Essentials Book的示例编写了我的第一个Akka反应式应用程序,但是当我想要打印结果对象时,会显示一个空值“{}”。结果应该是:{加拉夏、莱亚纳、穆乔、蒂恩波、维维亚、格雷罗、埃斯佩拉达、安康特拉斯}。本示例最初使用akka 2.0.3 我的pom文件调用akka 2.4.16,我的项目没有错误,有人可以帮助我吗 所有源代码都是 公共类MapReduce应用程序{ 公共静态void main(字符串[]args)引发异常{ ActorSystem_system=Act

我使用Akka Essentials Book的示例编写了我的第一个Akka反应式应用程序,但是当我想要打印结果对象时,会显示一个空值“{}”。结果应该是:{加拉夏、莱亚纳、穆乔、蒂恩波、维维亚、格雷罗、埃斯佩拉达、安康特拉斯}。本示例最初使用akka 2.0.3

我的pom文件调用akka 2.4.16,我的项目没有错误,有人可以帮助我吗

所有源代码都是

公共类MapReduce应用程序{
公共静态void main(字符串[]args)引发异常{
ActorSystem_system=ActorSystem.create(“MapReduceApp”);
ActorRef master=_system.actorOf(Props.create(MasterActor.class),“master”);
告诉大师(“你是一个很好的朋友”,ActorRef.noSender());
大师。泰尔(vivia un guerrero que esperaba Encortrase con el guerrero de una galaxia proxima),ActorRef.noSender();
睡眠(5000);
结果消息=新结果();
Timeout Timeout=新超时(Duration.create(5,TimeUnit.SECONDS));
Future=Patterns.ask(master、msg、timeout);
字符串结果=(字符串)wait.result(future,timeout.duration());
系统输出打印项次(结果);
_系统终止();
}
}

我认为您对聚合参与者的定义有问题。它不应该被路由到5个参与者的池中,而是应该只有1个参与者聚合所有数据 您可以通过将代码更改为

ActorRef aggregateActor = getContext().actorOf(Props.create(AggregateActor.class),"aggregate");

…那么,MasterActor做什么?结果是什么??中的所有源代码:您完全正确。这实际上就是代码在Akka Essentials手册中的编写方式。谢谢!很多
ActorRef aggregateActor = getContext().actorOf(Props.create(AggregateActor.class),"aggregate");