我有几个像这样定义的akka演员:
object SomethingActor {
val name: String = "somethingActor"
def props: Props = Props(new SomethingActor())
}
class somethingActor extends Actor {
verride def receive: Receive = ???
}
// somewhere else
final val myActor = actorSystem.actorOf(SomethingActor.props, SomethingActor.name)
在这些参与者中,在我的应用程序的任何给定时刻,最多只有一个瞬间是“有效的”,因此仅当旧的SomethingActor
死亡时,才能创建新的SomethingActor
演员。
现在,我不认为这样定义演员名称:val name: String = "somethingActor"
非常好,所以我一直在想是否可以使用这样的名称:
object SomethingActor {
val name: String = this.getClass.getName
def props: Props = Props(new SomethingActor())
}
这会被视为不良做法吗?有没有更好的方法来解决这个问题?我(认为我)需要将名称保存在伴随对象中,以便能够使用ActorSystem.actorSelection(path: String)
(docu)从程序的另一点搜索演员。