【问题标题】:El expression or logic in Spring @Scheduled annotation for cron expression用于 cron 表达式的 Spring @Scheduled 注解中的 El 表达式或逻辑
【发布时间】:2012-08-19 01:54:28
【问题描述】:

我使用的是 Spring 3.1.1.RELEASE 版本,并且有一些使用 @Scheduled 注释的计划任务,例如@Scheduled(cron = "0 0 15 * * 2") 每周二 15:00

我需要对 cron 表达式进行更细粒度的控制以使其运行,例如:

  • 每月第二个和最后一周的星期一
  • 每个月的第一个星期一

我怎样才能做到这一点?

也许某些 EL 表达式的计算结果是同一 bean 中的一个方法,该方法返回所需的 cron 表达式作为字符串?

或者也许已经有某种方法可以在 cron 表达式中引入这种逻辑?

我试图为这两种解决方案找到一些信息,但没有成功,所以我很感激一个好的指针。

谢谢

【问题讨论】:

    标签: spring cron scheduled-tasks


    【解决方案1】:

    也许某些 EL 表达式的计算结果是同一 bean 中的方法,该方法返回所需的 cron 表达式作为字符串?

    如果您的主要问题是您想避免对 cron 进行硬编码,那么您可以从属性文件中获取它,如下所示:

    @Scheduled(cron = "${my-schedule}")
    

    其中 my-schedule 是属性文件中键的名称:

    my-schedule=0 0 15 * * 2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-03
      • 2016-02-18
      • 2018-06-24
      • 1970-01-01
      • 1970-01-01
      • 2019-10-21
      • 1970-01-01
      相关资源
      最近更新 更多