是否可以發送消息至全部演員系統中的演員?我一直在尋找Broadcast router的例子,但這是如此的微不足道,我無法理解我是如何動態地將角色添加到路由器的。向ActorSystem中的所有演員發送消息
我們正在使用Scala for akka。
謝謝!
是否可以發送消息至全部演員系統中的演員?我一直在尋找Broadcast router的例子,但這是如此的微不足道,我無法理解我是如何動態地將角色添加到路由器的。向ActorSystem中的所有演員發送消息
我們正在使用Scala for akka。
謝謝!
system.actorSelection("/user/*") ! msg
選擇監護人的所有兒童,並將其發送的消息:
context.system.eventStream.subscribe
我從延伸。
如果你想將消息發送到誰是動態創建的所有演員,你可以使用eventBus
我個人使用的system.eventStream我的情況。
從一個演員,你可以發送給大家:
context.system.eventStream.publish(StatisticsMessage())
或直接與系統。
演員必須與訂閱:
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()
}
}
問題是關於發送給所有演員,但不僅僅是根的孩子。關於根的孫子們(/ ...)呢? – 2013-03-26 14:55:19