我想得到一个ActorRef可能已经创建的.是否有一种标准的呼叫方式context.actorFor,只有当它没有返回实时ActorRef通话时context.actorOf?反之亦然(即呼叫,context.actorOf并且只有当演员已经存在时,才打电话context.actorFor).
首先:get-or-create只有在只有一个实体的情况下才能工作(否则你将无法确定它是如何创建的).这意味着准演员的父级是放置此代码的地方.
在演员中,这是非常直截了当的:
val child =
context.child(name) match {
case None => context.actorOf(Props(...), name)
case Some(c) => c
}
Run Code Online (Sandbox Code Playgroud)
请不要使用actorFor,它在Akka 2.2中被弃用是有充分理由的.在这种情况下context.child(),你想要更有效率.
| 归档时间: |
|
| 查看次数: |
432 次 |
| 最近记录: |