我们目前正在从Akka 2.0.4更新到2.4.2(我知道,这是一个很大的飞跃,但没有人想过以增量方式进行)。
无论如何,在旧的代码库中,我们的主节点连接到一些有时会失败的远程从属节点(“为什么”仍有待研究)。当从属设备死亡时,主设备会收到RemoteClientShutdown事件,我们可以从中提取getRemoteAddress
并对其进行相应处理(例如,通知管理员每封电子邮件指向失败的节点地址)。
在版本2.4.2中,RemoteClientShutdown
类被RemotingShutdownEvent替换(至少我认为是这样),作为对象,它不携带关于事件源的任何特定信息
我已查看了迁移指南以及当前文档,但无法找到有关如何解决此问题的信息。根据{{3}},提取此类信息的唯一方法是在邮件中提供此信息(“请注意,EventBus不会保留已发布邮件的发件人。如果您需要引用原始发件人,则必须在消息内提供它“)。
我应该以某种方式覆盖远程系统关闭时发送的消息吗?或者还有其他推荐的解决方法吗?我希望这个问题不是新手,我对阿卡来说还是一个新手。
答案 0 :(得分:0)
好的,使用实际包含地址和其他有用信息的DisassociatedEvent
解决了它。事实证明我被实际收到的RemotingShutdownEvent
的名字误导了#34;当远程处理子系统关闭时#34; (docs)而不是远程演员关闭时。