Akka收到阻止

时间:2012-11-05 07:07:08

标签: akka

在Erlang中,可以发送消息并在我的函数内的下一行代码中等待所需的响应。这使得在单个函数中将工作流逻辑(编排逻辑)组合在一起变得容易。我可以用akka java做同样的事情吗?

似乎所有的回复都会进入onRecieve回调。这意味着我永远不能将我的工作流逻辑放到一个函数中,并且一旦我向演员发送消息,我就需要从另一个函数中获取演员的答案,该函数是onRecieve。这再一次杀死了我的一个函数来改变我的工作流逻辑。是这样的吗?如果是这样,我对akka scala有同样的问题吗?

1 个答案:

答案 0 :(得分:2)

不,你不能在Akka中做同样的事情,因为这是最有问题的Erlang功能:它会导致内存泄漏和性能不佳。

但是,您可以:

A)产生一个新的Actor来处理对话逻辑

B)使用ask /?处理回复

C)使用Stash功能避免在满足某些条件之前处理某些消息