使用通配符时,参与者选择不响应



当我用通配符调用actorSelection并且没有匹配的参与者时,我希望得到ActorIdentity(None,None)作为响应,但实际上什么也没发生。是正常情况还是我在这里错过了什么?

class A extends Actor {
  val b = context.actorOf(Props[B], "test")
  def receive = { case x => println(s"Response: $x") }
  context.actorSelection("/user/a/test") ! Identify(None)
  // Response: ActorIdentity(None,Some(Actor[akka://sys/user/a/test#121958964]))
  context.actorSelection("/user/a/nothing") ! Identify(None)
  // Response: ActorIdentity(None,None)
  context.actorSelection("/user/a/x*") ! Identify(None)
  // Nothing happens
}

看起来这是一个错误。

请参阅:https://www.assembla.com/spaces/akka/tickets/3992

更新:看起来这是设计使然(请参阅票证评论),毕竟没有错误......

最新更新