gpt4 book ai didi

java - Akka actor重启时重新发送 "init"消息

转载 作者:行者123 更新时间:2023-11-30 07:09:19 24 4
gpt4 key购买 nike

我有一个子“消费者”参与者,它连接到一些外部数据流,解析其消息并将它们进一步转发到应用程序内部。这个“生产者”系统具有发布-订阅架构,但重新连接后不会恢复订阅。目前,我将这些订阅存储在父 actor 中,并在主管中重新发送它们,但问题是,当子进程重新启动时,它们会被转发到死信队列。我本可以尝试在延迟一段时间后将这些安排给父级,但这可能会干扰订阅顺序,这很重要。

那么我如何在子进程重新启动时将这些“重新订阅”消息传递给它呢?

最佳答案

您可以使用重启 Hook ( http://doc.akka.io/docs/akka/snapshot/scala/actors.html#Restart_Hooks ):preRestart 和 postRestart api。

在子actor上进行preRestart时,您需要通知supervisor子actor将重新启动并且supervisor应暂停其发送消息。

在子actor上重新启动后,您需要通知主 pipe 角色可用,并且主管应恢复发送消息。

关于java - Akka actor重启时重新发送 "init"消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39464716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com