by shigemk2

当面は技術的なことしか書かない

ActorIdentity

こんなかんじで、identityIdとActorSelectionとのコンボで使うらしい。 IdentityのメッセージをActorSelectionに送るときに使うとか。

class Follower extends Actor {
  val identifyId = 1
  context.actorSelection("/user/another") ! Identify(identifyId)

  def receive = {
    case ActorIdentity(`identifyId`, Some(ref)) =>
      context.watch(ref)
      context.become(active(ref))
    case ActorIdentity(`identifyId`, None) => context.stop(self)

  }

  def active(another: ActorRef): Actor.Receive = {
    case Terminated(`another`) => context.stop(self)
  }
}

stackoverflow.com