簡體   English   中英

在群集中僅運行一次akka調度程序

[英]Running akka scheduler only once in a cluster

我在我的播放應用程序中配置了Akka調度程序。 它工作正常,但現在問題是我有兩個相同的應用程序在群集中運行的實例。 因此調度程序也運行了兩次。 我希望它只為整個應用程序運行一次。 是否有一些規定在akka實現這一目標。 此外,Java相關的幫助將是值得注意的。

為此,您需要使用模塊Akka Cluster Singletonhttp//doc.akka.io/docs/akka/snapshot/java/cluster-singleton.html

此模塊提供在整個群集中只有一個actor的功能。 下面的代碼解釋了如何在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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM