重新启动系统时,context.children()调用将返回特定父级的零子级。在重新启动之前,context.children()返回了父母拥有的子项的实际数量。
有人可以告诉我怎样才能让我们在重启后如何为孩子获得孩子的ActorRef?
我的用例是:
在重新启动之前,有一个父母的5个孩子。现在,我希望计算表现并计算表现,我需要所有这5个孩子的参与。因此,重新启动后,我可以向所有孩子发送相同的消息,之后孩子们将工作并回复父母。然而,重新启动后,我甚至不知道这些孩子是谁。那么,解决这类问题的最佳方法是什么?
答案 0 :(得分:0)
一种方法是在将父状态作为子ID列表的同时使父actor保持持久性。这样,当系统重新启动并重新创建父级时,它将恢复其状态。
答案 1 :(得分:0)
“父 - 子”角色关系的唯一问题是,当孩子是持久性演员时,当你重新启动你的应用程序时,“父子关系”本身就会丢失。基本上,这种关系本身并不持久。
因为flare
提到你需要让你的父actor保持持久性并保持所有孩子的名字。然后在重新启动期间,持久性父actor必须通过context.actorOf(...)