Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.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 Spring调度程序不允许并发替换_Java_Spring_Spring Scheduled - Fatal编程技术网

Java Spring调度程序不允许并发替换

Java Spring调度程序不允许并发替换,java,spring,spring-scheduled,Java,Spring,Spring Scheduled,在Quartz中安排任务时,您可以设置缺火和重新安排。这可以在示例场景中使用,其中有一个作业每30分钟运行一次,并且可能存在积压,并且该作业的执行时间将超过30分钟。要防止同一作业运行两次,可以使用@DisallowConcurrentExecution。完成后,作业将执行第二个实例,该实例通过使用simpleSchedule().withMisfireHandlingInstructionNowWithExistingCount()排队 现在在Spring Scheduler中,似乎没有这种细

在Quartz中安排任务时,您可以设置缺火和重新安排。这可以在示例场景中使用,其中有一个作业每30分钟运行一次,并且可能存在积压,并且该作业的执行时间将超过30分钟。要防止同一作业运行两次,可以使用
@DisallowConcurrentExecution
。完成后,作业将执行第二个实例,该实例通过使用
simpleSchedule().withMisfireHandlingInstructionNowWithExistingCount()
排队


现在在Spring Scheduler中,似乎没有这种细粒度的功能,只有
固定速率
固定延迟
选项可以每30分钟调度一次,或者在上一个作业完成后等待30分钟。如果不使用限制为单个线程的hammer路径,因为我想增加其他批处理作业并发运行的线程数,那么什么是重新创建Quartz行为的最佳方法?

因此,对于基本Spring调度器,似乎没有这样的机制。要做到这一点,可以使用SpringQuartz调度程序,也可以直接使用Quartz