我有一个非常简单的问题,但我没有在互联网上找到任何东西(也许我不知道如何搜索它)。
如果我部署了一个actor(actorSystem.actorOf ...)并立即向它发送消息,如果还没有部署Actor,那么这些消息是否会在“特殊”队列中排队,或者消息是发送给DeadLetters?
答案 0 :(得分:5)
查看邮箱文档的底部。您的猜测是正确的,邮件存储在特殊队列中,直到邮箱准备就绪。
为了使system.actorOf同步和非阻塞同时保持返回类型ActorRef(以及返回的ref完全正常工作的语义),对这种情况进行特殊处理。在幕后,构建了一个空洞的actor参考,它被发送给系统的守护者,他实际上创建了actor及其上下文并将它们放在引用中。在发生这种情况之前,发送到ActorRef的消息将在本地排队,只有在交换真正的填充时,它们才会被转移到真实邮箱中。