从RemotingShutdownEvent检索节点地址

时间:2016-03-02 10:36:04

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

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

无论如何,在旧的代码库中,我们的主节点连接到一些有时会失败的远程从属节点(“为什么”仍有待研究)。当从属设备死亡时,主设备会收到RemoteClientShutdown事件,我们可以从中提取getRemoteAddress并对其进行相应处理(例如,通知管理员每封电子邮件指向失败的节点地址)。

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

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

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

1 个答案:

答案 0 :(得分:0)

好的,使用实际包含地址和其他有用信息的DisassociatedEvent解决了它。事实证明我被实际收到的RemotingShutdownEvent的名字误导了#34;当远程处理子系统关闭时#34; (docs)而不是远程演员关闭时。