Scala Akka |如何在集群中使用allButSelf属性?

问题描述

基于群集的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

解决方法

你想做

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