У меня есть несколько актёров-акка, определённых так:
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)
( document ).