我正在尝试创建一个单身演员,我在 Akka Cluster Singletons 上找到了文档。我面临的问题是,每当我尝试向我的单身人士发送消息时,ClusterSingletonProxy
演员都找不到它。我启用了调试日志,当我向代理发送消息时,这会从 /user/consumerProxy
参与者显示。
Singleton 不可用,缓冲消息类型 [java.lang.String]
这就是我设置单身人士的方式。
object FetchStatusActor {
def props() = {
println(" PROPS CALLED ")
Props(new FetchStatusActor())
}
}
class FetchStatusActor extends Actor {
override def receive: Receive = {
case msg => println(s" Fetch actor got: ${msg}")
}
}
val manager = system.actorOf(
ClusterSingletonManager.props(
singletonProps = FetchStatusActor.props(),
terminationMessage = "some-termination-msg",
settings = ClusterSingletonManagerSettings(system)
),
name = "consumer"
)
val proxy = system.actorOf(
ClusterSingletonProxy.props(
singletonManagerPath = "/user/consumer",
settings = ClusterSingletonProxySettings(system)
),
name = "consumerProxy"
)
proxy ! "Say something"
出现来自 FetchStatusActor.props
的 println。
如果有任何建议,我将不胜感激。