从另一个 Actor 的上下文中查找对子 Actor 的引用是直接的,使用类似以下的方法:
val foo = context.child("foo") match {
case None => createFoo
case Some(c) => c
}
我遇到的问题是我正在使用我的控制器中创建我的第一个 Actor Akka.system
,它看起来像这样:
val myActor = Akka.system.actorOf(Props(new MyActor(anId)), s"id-${anId}")
现在,当我的控制器被多次调用时,它一直在尝试创建同一个演员,这显然是错误的。这将引发异常。在这种情况下我没有context
,因为控制器本身不是演员。
如何使用 Akka.system 取回我的参考资料?似乎 Akka.system.actorFor 在 2.2.0 中已被弃用并且不再推荐(我使用的是 Scala)。
有没有办法编写一个match {}
子句来取回 MyActor 以获取提供的 id?