【发布时间】:2016-06-12 09:53:38
【问题描述】:
我有一个很简单的问题,但是我在网上没有找到任何东西(可能我不知道如何搜索)。
如果我部署了一个演员 (actorSystem.actorOf ...) 并且我立即向它发送了一条消息,如果该演员尚未部署,那么这些消息将被排入“特殊”队列还是将这些消息发送到 DeadLetters?
【问题讨论】:
标签: deployment akka actor dead-letter
我有一个很简单的问题,但是我在网上没有找到任何东西(可能我不知道如何搜索)。
如果我部署了一个演员 (actorSystem.actorOf ...) 并且我立即向它发送了一条消息,如果该演员尚未部署,那么这些消息将被排入“特殊”队列还是将这些消息发送到 DeadLetters?
【问题讨论】:
标签: deployment akka actor dead-letter
查看邮箱文档的底部。您的猜测是正确的,邮件存储在一个特殊的队列中,直到邮箱准备好。
为了使 system.actorOf 在保持返回类型 ActorRef 的同时保持同步和非阻塞(以及返回的 ref 是全功能的语义),对这种情况进行了特殊处理。在幕后,构造了一种空心的actor引用,它被发送给系统的监护actor,后者实际创建actor及其上下文并将它们放入引用中。在此之前,发送到 ActorRef 的消息将在本地排队,只有在交换真实填写后才会将它们转移到真实邮箱中。
【讨论】: