69

だから、私が俳優を持っているなら、私はそれに名前を付けることができます. しかし、その名前に内部的にアクセスできますか? 例:

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 ドキュメントには何もないようです。

4

1 に答える 1

101

からを取得するためにActor使用できます。selfActorRef

val actorName = self.path.name

http://doc.akka.io/api/akka/2.2.3/#akka.actor.Actor

http://doc.akka.io/api/akka/2.2.3/#akka.actor.ActorRef

http://doc.akka.io/api/akka/2.2.3/#akka.actor.ActorPath

于 2013-11-10T08:44:43.043 に答える