我正在学习 Akka Actor 编程(Java),并且我正在阅读/观看一些教程。我想我掌握了大部分内容。
但是有一件事让我困惑,抱歉,如果这是一个菜鸟问题,但它是关于拥有多个 Actor 实例,以及如何创建/检索/识别它们?
假设我有一个 Account Actor,并且想要它的多个实例。我是否应该保留“帐号”的记录以及对适当 Actor 实例的引用?就像一个
Map<String,ActorRef>
或者其他东西,存储在Supervisor/Parent Actor中?
启动时,我应该为每个帐户创建一个 Actor,还是应该有一个工厂在第一次需要时创建帐户 Actor?那么坚持呢?假设帐户想要加载已应用的交易列表?
我应该手动编码所有这些,还是这里有一个我不明白的更智能的“最佳实践”?
最佳答案
就您而言,您可以简单地创建 persistent actors在主管下,持久性 id 将对应于帐号。因此,账号可以作为唯一标识符。要从主管上下文中获取参与者,您可以使用 ActorContext#child方法或只是使用 ActorContext#actorOf 从持久存储中恢复它们如果它们不在主管的当前上下文中。
关于java - 识别 Akka Actors 的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41840779/