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