我正在学习Akka Actor编程(Java),我正在阅读/观看几个教程。我想我掌握了大部分内容。
然而有一件事让我感到困惑,如果这是一个Noob问题,对不起,那就是有多个Actors实例,以及如何创建/检索/识别它们?
假设我有一个帐户角色,并想要它的多个实例。我应该记录“帐号”和对相应的Actor实例的引用吗?像一个
Map<String,ActorRef>
存储在Supervisor / Parent Actor中的或其他东西?
在启动时,我应该为每个帐户创建一个Actor,还是应该在第一次需要时创建一个创建Account Actor的工厂?那么持久性呢?假设帐户想要加载已应用的交易列表?
我应该手动编码所有这些,还是这里有一个更聪明的“最佳实践”,我不明白?
答案 0 :(得分:0)
在您的情况下,您只需在主管下创建persistent actors,其中持久性ID将对应于帐号。因此,帐号可以用作唯一标识符。要从主管的上下文中获取actor,您可以使用ActorContext#child方法或仅使用ActorContext#actorOf从持久存储中恢复它们(如果它们不在主管的当前上下文中)。