Akka:如何让 child Actor 重启

标签 akka akka-persistence

当系统重新启动时,context.children() 调用会为特定的父对象返回零个子对象。在重新启动之前,context.children() 返回父级拥有的实际子级数。

有人可以告诉我如何在重启后为 parent 获取 child ActorRef 吗?

我的用例是:

在重新启动之前,假设 parent 有 5 个 child 。现在,我想计算性能并计算性能我需要所有这 5 个 child 的参与。因此,重启后,我可以向所有 child 发送相同的消息,之后 child 将工作并回复 parent 。然而,重启后,我什至不知道 children 是谁。那么,解决此类问题的最佳方法是什么?

最佳答案

一种方法是使父 actor 持久化,同时将其状态设置为子 ID 列表。这样,当系统重新启动并重新创建 parent 时,它将恢复其状态。

关于Akka:如何让 child Actor 重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42141199/

相关文章:

java - Play 1.x 和 Akka 可以一起使用吗?

scala - 通过 akka-stream 作为客户端读取 TCP

java - 如何在 Java 中将元素发送到 Source.actorRef 或 Source.queue

java - 将 ActorRef 获取到先前生成的 EventSourcedBehavior

scala - 如何在恢复期间拒绝快照?

java - akka Streams 是否提供有保证的交付

java - Akka 身份验证设计(有限状态机)

java - Lambda 运算符 () -> 如何工作?

scala - 使用 akka-persistence : growing state as list? 的事件溯源

akka - 我应该如何在 Akka 持久性中构建持久性参与者?