【问题标题】:Retrieving node address from RemotingShutdownEvent从 RemotingShutdownEvent 检索节点地址
【发布时间】:2016-03-02 10:36:04
【问题描述】:

我们目前正在从 Akka 2.0.4 更新到 2.4.2(我知道,这是一个很大的飞跃,但没有人想过逐步进行)。

无论如何,在旧代码库中,我们的主节点连接到一些有时会失败的远程从节点(“为什么”仍有待调查)。当一个 slave 死掉时,master 会收到一个 RemoteClientShutdown 事件,我们可以从中提取 getRemoteAddress 并相应地处理它(例如,通过指向故障节点地址的电子邮件通知管理员)。

在 2.4.2 版中,RemoteClientShutdown 类被替换(至少我认为是这样)RemotingShutdownEvent,作为一个对象,它不携带任何关于事件源的特定信息。

我查看了迁移指南以及当前文档,但找不到有关如何解决此问题的信息。根据Event Bus documentation,提取此类信息的唯一方法是在消息中提供它(“请注意,EventBus 不会保留已发布消息的发件人。如果您需要对原始发件人的引用,则必须在消息中提供它”)。

我应该以某种方式覆盖远程系统关闭时发送的消息吗?或者有没有其他推荐的方法来解决它?我希望这个问题不是太新手,我对 Akka 还是很陌生。

【问题讨论】:

    标签: akka event-bus akka-remote-actor


    【解决方案1】:

    好的,使用DisassociatedEvent 解决了它,它实际上包含地址和其他有用信息。原来我被RemotingShutdownEvent 的名称误导了,它实际上是在“远程处理子系统已关闭时”(docs) 而不是在远程参与者已关闭时收到的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多