Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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 石英砂';s@DisallowConcurrentExecution可以跨多个JVM工作?_Java_Quartz Scheduler - Fatal编程技术网

Java 石英砂';s@DisallowConcurrentExecution可以跨多个JVM工作?

Java 石英砂';s@DisallowConcurrentExecution可以跨多个JVM工作?,java,quartz-scheduler,Java,Quartz Scheduler,如果我使用JdbcStore将作业代码部署在两个JVM上,那么@DisallowConcurrentExecution是否确保只有一个作业在所有JVM上运行?是的;这种属性甚至可以用于多个实例。这里唯一重要的一点是,该属性基于JobKey,而不是所描述的代码 无论如何,作为提醒,不要在多台服务器上运行Quartz,除非您有一个deamon来保持时钟同步。从石英指南: 永远不要在单独的机器上运行集群,除非它们的时钟是使用某种形式的时间同步服务(守护进程)进行同步的,这种服务非常定期地运行(时钟之间

如果我使用JdbcStore将作业代码部署在两个JVM上,那么
@DisallowConcurrentExecution
是否确保只有一个作业在所有JVM上运行?

是的;这种属性甚至可以用于多个实例。这里唯一重要的一点是,该属性基于JobKey,而不是所描述的代码

无论如何,作为提醒,不要在多台服务器上运行Quartz,除非您有一个deamon来保持时钟同步。从石英指南:

永远不要在单独的机器上运行集群,除非它们的时钟是使用某种形式的时间同步服务(守护进程)进行同步的,这种服务非常定期地运行(时钟之间的间隔必须在一秒钟之内)。看看你是否不熟悉如何做到这一点


@Jimmy所以如果我想确保一个作业跨服务器运行,唯一的方法就是手动检查它?我误解了你的问题。您的quartz服务器维护执行计数,因此每个作业详细信息只运行一个实例。供您参考和使用