scala中的角色引用

cngwdvgl  于 2022-11-06  发布在  Scala
关注(0)|答案(1)|浏览(131)

/user/master/"+startID/user/master/*之间有什么区别?我假设 * 表示StartRouteProcess消息将发送给所有参与者。这对吗?然而,/user/master/"+startIDTask消息发送给具有给定startID的参与者

case JoinNode =>
        val startID = Nodelist(Random.nextInt(numJoined))
        context.system.actorSelection("/user/master/" + startID) ! Task("Join", startID, Nodelist(numJoined), -1)

      case BeginRouting =>
        println("Node Join Finished.\n")
        println("Routing started.")
        context.system.actorSelection("/user/master/*") ! StartRouteProcess
w6lpcovy

w6lpcovy1#

根据 akka 文档https://doc.akka.io/docs/akka/2.5/general/addressing.html#querying-the-logical-actor-hierarchy:
可以使用ActorSystem.actorSelection和ActorContext.actorSelection方法来制定选择,并且确实支持发送消息:
context.actorSelection("../*") ! msg
将向包括当前执行元在内的所有兄弟发送msg。
所以你是对的。

相关问题