Ответ 1
Из Actor
вы можете использовать self
для получения ActorRef
.
val actorName = self.path.name
http://doc.akka.io/api/akka/2.2.3/#akka.actor.Actor
Итак, если у меня есть актер, я могу назвать его именем. Но могу ли я получить доступ к этому имени внутри? Пример:
class Actorz extends Actor with ActorLogging {
val actorName = //??What function
def receive = {
case x => log.debug(actorName+": Received Message: "+x)
}
}
val actor = system.actorOf(Props[Actorz], "named")
actor ! "dogs"
Теперь я могу передать его имя как параметр конструктора. Но это похоже на ненужное дублирование, если есть способ получить внутреннее имя... поскольку он был установлен, когда я создал экземпляр актера, используя system.actorOf
. В документах API, похоже, ничего нет.
Из Actor
вы можете использовать self
для получения ActorRef
.
val actorName = self.path.name
http://doc.akka.io/api/akka/2.2.3/#akka.actor.Actor