Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Quartz是否支持在多个节点上执行一次?_Java_Quartz - Fatal编程技术网

Java Quartz是否支持在多个节点上执行一次?

Java Quartz是否支持在多个节点上执行一次?,java,quartz,Java,Quartz,在我的场景中,Quartz将在我的web应用程序中运行嵌入式应用程序,该应用程序将部署在两个节点上。我可以安排一个任务并使它在两个节点上只执行一次吗?DisallowConcurrentExecution注释是否用于此目的 例如,如果我使用每小时触发器安排一个任务,那么两个节点上一天内任务的总执行计数是否可以是24而不是48?您可以将quartz设置为群集模式。它的主要要求是,您服务的两个实例应共享同一个数据库,就像quartz基于数据库进行群集一样。 如果在您的案例中使用集群机制,将执行24个

在我的场景中,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
有关文档,请参阅

还有两个问题:1。正如上面所说,有四种运行时环境模式。你的描述超出了哪种模式?2.是否需要在群集模式下使用
DisallowConcurrentExecution
?1只要运行quartz的所有服务实例共享同一数据库,说明就属于所有类型的环境。2不需要使用DisallowConcurrentExecution,因为此注释可以在不支持的RamJobStore中使用集群。你也可以查看这个链接。谢谢大家!@用户06062019