アクターシステム内のすべてのアクターにメッセージを送信することは可能ですか?ブロードキャストルーターの例を見てきましたが、それはごくわずかであり、ルーターにアクターを動的に追加する方法を理解できません。
akkaにはscalaを使用しています。
ありがとう!
アクターシステム内のすべてのアクターにメッセージを送信することは可能ですか?ブロードキャストルーターの例を見てきましたが、それはごくわずかであり、ルーターにアクターを動的に追加する方法を理解できません。
akkaにはscalaを使用しています。
ありがとう!
system.actorSelection("/user/*") ! msg
保護者のすべての子を選択し、メッセージを送信します。
動的に作成されたすべてのアクターにメッセージを送信する場合は、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()
}
}