Java 在群集中仅运行一次akka调度程序
我已经在我的播放应用程序中配置了Akka调度程序。它工作得很好,但现在的问题是,我有两个相同应用程序的实例在集群中运行。所以调度程序也运行了两次。我希望整个应用程序只运行一次。阿克卡是否有实现这一目标的规定。此外,与java相关的帮助也将非常有用。为此,您需要使用模块Akka Cluster Singleton: 该模块提供了在整个集群中只有一个参与者的功能。 下面的代码解释了如何在Java 在群集中仅运行一次akka调度程序,java,akka,akka-cluster,Java,Akka,Akka Cluster,我已经在我的播放应用程序中配置了Akka调度程序。它工作得很好,但现在的问题是,我有两个相同应用程序的实例在集群中运行。所以调度程序也运行了两次。我希望整个应用程序只运行一次。阿克卡是否有实现这一目标的规定。此外,与java相关的帮助也将非常有用。为此,您需要使用模块Akka Cluster Singleton: 该模块提供了在整个集群中只有一个参与者的功能。 下面的代码解释了如何在Scala中执行此操作,我认为Java应该非常类似: context.actorOf(ClusterSinglet
Scala
中执行此操作,我认为Java
应该非常类似:
context.actorOf(ClusterSingletonManager.props(YourScheduler.props, PoisonPill, ClusterSingletonManagerSettings(context.system)), "singletonScheduler")
val singletonScheduler = system.actorOf(ClusterSingletonProxy.props(
singletonManagerPath = "/user/app/singletonScheduler",
settings = ClusterSingletonProxySettings(system)),
name = "singletonSchedulerProxy")