识别Akka Actors的多个实例

时间:2017-01-24 23:23:35

标签: java akka actor

我正在学习Akka Actor编程(Java),我正在阅读/观看几个教程。我想我掌握了大部分内容。

然而有一件事让我感到困惑,如果这是一个Noob问题,对不起,那就是有多个Actors实例,以及如何创建/检索/识别它们?

假设我有一个帐户角色,并想要它的多个实例。我应该记录“帐号”和对相应的Actor实例的引用吗?像一个

Map<String,ActorRef> 
存储在Supervisor / Parent Actor中的

或其他东西?

在启动时,我应该为每个帐户创建一个Actor,还是应该在第一次需要时创建一个创建Account Actor的工厂?那么持久性呢?假设帐户想要加载已应用的交易列表?

我应该手动编码所有这些,还是这里有一个更聪明的“最佳实践”,我不明白?

1 个答案:

答案 0 :(得分:0)

在您的情况下,您只需在主管下创建persistent actors,其中持久性ID将对应于帐号。因此,帐号可以用作唯一标识符。要从主管的上下文中获取actor,您可以使用ActorContext#child方法或仅使用ActorContext#actorOf从持久存储中恢复它们(如果它们不在主管的当前上下文中)。