2012-04-28 34 views
3

Akka似乎梦想成真。可悲的是,像其他软件一样,文档和示例在一些主要方面缺乏。因为事情的要点是提供非阻塞并行的io,他们为什么会提供一个只返回字符串的hello world。这是一个坚定的想法:为每个单词准备一个代理,通过调用Web上的某些内容将其翻译成另一种语言,然后返回结果。使用Akka/Play-mini从REST呼叫返回字符串

今天我绕圈子读了关于期货和承诺的文档。一个工作的例子可以解决整个问题。

我已经在java并发包中使用Future进行了很多并发编程。出于某种原因,阿卡的东西看起来太复杂了。我正在做一些与我上面描述的非常接近的事情:获取请求并让多个代理通过网络完成它。我把原来生成的以Master和Listener为起点的项目作为起点,它工作正常,我无法找到一个简单的方法来返回聚合结果。我有一个叫做迷你游戏的方法。从那里,我正在调用一个将消息发送给代理的类的方法,当它们运行完毕后,它们的结果将被聚合,并且监听器会被调用。我如何构建一个未来?所有的文档都说不会阻塞,但我们必须从REST请求中返回。

有没有人知道这样的例子?超级简单。谢谢。

回答

2

我最终做了合成期货。工作得很好。当你创建一个序列时,你仍然需要等待,但平行执行仍然在一秒钟内返回,所以我很高兴。

至于让演员处理一个REST请求,我想过把它传递给Future,然后等着呢?可能会玩一些这些可能性,但我现在的工作。

这个经验给我提出的另一个问题是如何在演员中实现Ask。没有包含在文档中并给出名称,搜索Akka并询问几乎没用。

这里有一个建议:每个机制都应该显示在顺序图中。这会有多难?

阿卡真的很兴奋。终于能够做基于Actor的编程是非常棒的。