Spring Cron调度程序“禁用模式”

问题描述 投票:5回答:3

我的应用程序从属性文件加载一些cron模式。我正在使用这样的@Scheduled注释:

@Scheduled(cron = "${config.cronExpression:0 0 11,23 * * *}")

现在我想禁用一些任务,最简单的解决方案是输入一个永远不会运行的cron模式。为了做到这一点,我考虑使用仅在过去的特定日期执行的cron表达式。但不幸的是,Spring cron表达式不允许在过去添加一年或一个日期。

有没有任何模式永远不会运行?

spring cron scheduled-tasks
3个回答
1
投票

如果它是一个cron表达式,你可以在下面使用它使得cron在2099上运行

59 59 23 31 12 ? 2099

但是春季调度程序不需要一年的时间作为输入。这是我发现将其推迟一段时间。以下将于2月29日进行,这将是闰年。

0 0 0 29 2 ?

1
投票

根据Javadocs,从Spring 5.1.0开始,@Scheduled注释可以接受“ - ”作为禁用cron触发器的cron表达式。

特殊值“ - ”表示禁用的cron触发器,主要用于由$ {...}占位符解析的外部指定值。


-1
投票

现在不可能,检查网址https://jira.spring.io/browse/SPR-10376

© www.soinside.com 2019 - 2024. All rights reserved.