是否可以向参与者系统中的所有参与者发送消息?我一直在看广播路由器的例子,但那太微不足道了,我无法理解如何动态地将演员添加到路由器。
我们将 scala 用于 akka。
谢谢!
system.actorSelection("/user/*") ! msg
选择监护人的所有孩子并向他们发送消息。
如果要向所有动态创建的actor发送消息,可以使用eventBus
我个人将 system.eventStream 用于我的案例。
从演员,您可以发送给所有人:
context.system.eventStream.publish(StatisticsMessage())
或直接与系统。
演员必须订阅:
context.system.eventStream.subscribe
我从:
trait SubscriberActor extends Actor {
def subscribedClasses: Seq[Class[_]]
override def preStart() {
super.preStart()
subscribedClasses.foreach(this.context.system.eventStream.subscribe(this.self, _))
}
override def postStop() {
subscribedClasses.foreach(this.context.system.eventStream.unsubscribe(this.self, _))
super.postStop()
}
}