/user/master/"+startID
和/user/master/*
之间有什么区别?我假设 * 表示StartRouteProcess
消息将发送给所有参与者。这对吗?然而,/user/master/"+startID
将Task
消息发送给具有给定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
1条答案
按热度按时间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。
所以你是对的。