ActorRef
すでに作成されている可能性のある を取得したいと思います。context.actorFor
live を返さなかった場合にのみ呼び出す標準的な方法はありActorRef
ますcontext.actorOf
か? その逆も問題ありません (つまり、 を呼び出しcontext.actorOf
、アクターが既に存在する場合にのみ を呼び出しますcontext.actorFor
)。
質問する
442 次
1 に答える
6
最初に: get-or-create は、それを実行するエンティティが 1 つだけ存在する場合にのみ機能します (そうしないと、それを見つけたときにどのように作成されたかがわかりません)。これは、将来のアクターの親がこのコードを配置する場所であることを意味します。
アクター内では非常に単純です。
val child =
context.child(name) match {
case None => context.actorOf(Props(...), name)
case Some(c) => c
}
使用を控えてください。正当な理由によりactorFor
、Akka 2.2 では非推奨です。この場合、あなたが望むことをより効率的に行います。context.child()
于 2013-07-17T15:05:06.247 に答える