首页 > 解决方案 > 如何确保按顺序执行弹簧石英作业?

问题描述

我有以下触发器配置:

SimpleTrigger trigger = TriggerBuilder.newTrigger().startNow()
    .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(5)).build();

我的工作可能会运行超过 5 秒。

这意味着可能有 2 个作业实例同时运行。

有没有我可以对石英调度程序强制执行的政策:

如果作业正在运行,即使达到重复间隔也不要触发下一个。

可行吗?

谢谢

标签: spring-bootquartz-scheduler

解决方案


尝试使用此注释@DisallowConcurrentExecution。这不应允许执行同一作业实例 https://www.quartz-scheduler.org/api/2.1.7/org/quartz/DisallowConcurrentExecution.html


推荐阅读