#scala #akka
#scala #akka
Вопрос:
На основе документации Akka для кластера, хотел бы я опубликовать широкое сообщение для всех узлов в кластере, кроме меня. В настоящее время он также всегда отправляет мне общее сообщение.
val mediator = DistributedPubSub(context.system).mediator
mediator ! Subscribe("content", self) // subscribe to the topic named "content"
mediator ! Publish("content", "msg") // sends the msg out Broad to all nodes including myself
Как именно я могу установить свойство документации «allButSelf»?
https://doc.akka.io/docs/akka/current/distributed-pub-sub.html
Ответ №1:
Вы хотите сделать
mediator ! DistributedPubSubMediator.Put(testActor)
mediator ! DistributedPubSubMediator.SendToAll(path, msg, allButSelf=false) // it is false by default
Смотрите пример здесь https://github.com/akka/akka/blob/0e4d41ad33dbeb00b598cb75b4d29899371bdc8c/akka-cluster-tools/src/test/scala/akka/cluster/pubsub/DistributedPubSubMediatorRouterSpec.scala#L56