在我的场景中,Quartz 将嵌入在我的 Web 应用程序中运行,该应用程序将部署在两个节点上。我可以安排一个任务并使其在两个节点上仅执行一次吗? DisallowConcurrentExecution
注释是否用于此目的?
例如,如果我安排一个每小时触发的任务,那么该任务一天在两个节点上的总执行次数可以是 24 而不是 48 吗?
最佳答案
您可以将quartz设置为集群模式。它的主要要求是您的服务的两个实例应该共享相同的数据库,因为quartz是基于数据库进行集群的。 如果您在您的案例中使用集群机制,将执行 24 个作业。这些是您必须使用的一些属性。
org.quartz.scheduler.instanceName = MyClusteredScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval=20000
关于java - Quartz支持在多个节点上执行一次吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58513804/