【问题标题】:What happens to messages sent to Actors that are being deployed?发送到正在部署的 Actor 的消息会发生什么?
【发布时间】:2016-06-12 09:53:38
【问题描述】:

我有一个很简单的问题,但是我在网上没有找到任何东西(可能我不知道如何搜索)。

如果我部署了一个演员 (actorSystem.actorOf ...) 并且我立即向它发送了一条消息,如果该演员尚未部署,那么这些消息将被排入“特殊”队列还是将这些消息发送到 DeadLetters?

【问题讨论】:

    标签: deployment akka actor dead-letter


    【解决方案1】:

    查看邮箱文档的底部。您的猜测是正确的,邮件存储在一个特殊的队列中,直到邮箱准备好。

    为了使 system.actorOf 在保持返回类型 ActorRef 的同时保持同步和非阻塞(以及返回的 ref 是全功能的语义),对这种情况进行了特殊处理。在幕后,构造了一种空心的actor引用,它被发送给系统的监护actor,后者实际创建actor及其上下文并将它们放入引用中。在此之前,发送到 ActorRef 的消息将在本地排队,只有在交换真实填写后才会将它们转移到真实邮箱中。

    Actor mailboxes

    【讨论】:

      猜你喜欢
      • 2021-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-30
      • 1970-01-01
      • 2019-10-17
      相关资源
      最近更新 更多