我必须在这里误解一些事情。文档说默认邮箱应该是无限制的,但只是为了确保我添加了显式配置:
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,这就是麻烦所在的地方。答案 0 :(得分:0)
现在,我了解它的来源,修复工作相当简单。 我刚刚增加了ActorFlow的缓冲区大小,通常默认为16,例如:
ActorFlow.actorRef(MyActor.props(), 10000)