【发布时间】:2022-11-25 14:24:47
【问题描述】:
我在 Spring Boot 项目中使用 Quartz。我有一个从 cron 执行的作业,可以手动执行。我怎样才能配置同时只做一次这项工作。 如果无法手动触发作业,@DisallowConcurrentExecution 将是合适的,但在这种情况下,这还不够。
【问题讨论】:
-
为什么
@DisallowConcurrentExecution不正是它的用途。如果作业已经在运行,则无论作业以何种方式启动,都不会允许另一个作业。因此,除非你在 Quartz 之外手动启动它(你不应该这样做)这应该可以正常工作,否则重构你的代码以通过 Quartz 手动和计划启动作业。 -
请提供足够的代码,以便其他人可以更好地理解或重现问题。
标签: spring-boot quartz