Akka Unbounded Mailbox似乎有限

时间:2016-06-16 19:20:47

标签: playframework-2.0 akka

我必须在这里误解一些事情。文档说默认邮箱应该是无限制的,但只是为了确保我添加了显式配置:

akka.actor.default-mailbox {
    mailbox-type = "akka.dispatch.UnboundedMailbox"
}

然而,当我按如下方式发出50条消息时:

1 to 50 foreach { _ =>
    myActorRef ! "myMessage"
}

我得到大约15个错误:

ActorRefSourceActor - Dropping the new element because buffer is full and overflowStrategy is: [DropNew]

这里发生了什么?

编辑:

@cmbaxter - 谢谢你,对,我过度简化了代码,没有意识到哪个部分实际上被破坏了。缺少的信息是:

  • myActorRef实际上是指播放文档here中描述的WebSocket actor设置。如您所述,使用ActorFlow。
  • 发送给myActorRef的消息不是问题,而是反过来写入WebSocket,这就是麻烦所在的地方。

1 个答案:

答案 0 :(得分:0)

现在,我了解它的来源,修复工作相当简单。 我刚刚增加了ActorFlow的缓冲区大小,通常默认为16,例如:

ActorFlow.actorRef(MyActor.props(), 10000)