Akka:如何让儿童演员重新开始

Akka:如何让儿童演员重新开始,akka,akka-persistence,Akka,Akka Persistence,当系统重新启动时,context.children()调用为特定父级返回零个子级。在重新启动之前,context.children()返回父级拥有的子级的实际计数 有人能告诉我重新启动后如何为家长获取儿童ActorRef吗 我的用例是: 在重新启动之前,假设有一个父级的5个子级。现在,我想计算绩效,为了计算绩效,我需要这5个孩子的参与。所以,在重新启动之后,我可以向所有的孩子发送相同的消息,之后孩子们将工作并响应家长。然而,重启后,我甚至不知道孩子们是谁。那么,解决这类问题的最佳方法是什么呢?一

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

有人能告诉我重新启动后如何为家长获取儿童ActorRef吗

我的用例是:


在重新启动之前,假设有一个父级的5个子级。现在,我想计算绩效,为了计算绩效,我需要这5个孩子的参与。所以,在重新启动之后,我可以向所有的孩子发送相同的消息,之后孩子们将工作并响应家长。然而,重启后,我甚至不知道孩子们是谁。那么,解决这类问题的最佳方法是什么呢?

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

对于“父-子”参与者关系,子级是持久参与者的唯一问题是,当您重新启动应用程序时,“父-子”关系本身丢失。基本上,这种关系本身并不持久

因此,正如
flare
所提到的,您还需要使您的父参与者持久化,并维护所有子角色的名称。然后在重启过程中,您的持久性父参与者必须通过
context.actorOf(…)