Spring Cron scheduler “disable pattern”

前端 未结 3 442
感动是毒
感动是毒 2020-12-20 11:12

My application loads some cron patterns from a properties file. I\'m using the @Scheduled annotation like this:

@Scheduled(cron = "${config.         


        
相关标签:
3条回答
  • 2020-12-20 12:03

    If you're stuck pre Spring 5.1.0 (SpringBoot < 2.1), your only option may be to disable the bean/service with the @Scheduled method altogether, for example by using a @ConditionalOnProperty("my.scheduleproperty.active") annotation and not setting the property (or setting it to false)

    0 讨论(0)
  • 2020-12-20 12:05

    If it was a cron expression, you could have used below which makes the cron run on 2099

    59 59 23 31 12 ? 2099
    

    But spring scheduler does not take a year as input. This is what I have found to defer it for some extended period. Below will run on 29 Feb which will be a leap year.

    0 0 0 29 2 ?
    
    0 讨论(0)
  • 2020-12-20 12:07

    Per the Javadocs, as of Spring 5.1.0 the @Scheduled annotation can accept "-" as the cron expression to disable the cron trigger.

    The special value "-" indicates a disabled cron trigger, primarily meant for externally specified values resolved by a ${...} placeholder.

    0 讨论(0)
提交回复
热议问题