@Scheduled(cron = "0 10 0 5 * ?")
//@Scheduled(fixedDelay = 10000)
public void task() {
}


有没有一种配置方法:

在测试环境中:按计划选择fixedDelay = 10000

在产品环境中:按计划选择cron = "0 10 0 5 * ?"

在Java中,这个注释语法糖filed=value叫什么?

最佳答案

从spring 3.2.2您可以将其添加到配置文件中,并通过Spring表达式语言(application.properties or application.yml)读取

application.yml

 scheduler:
    fixedDelay: 1000


在java类中

  @Scheduled(fixedDelayString = "${scheduler.fixedDelay}")
  public void task() {
  }


注意:在3.2.2之前,它将只接受长值,但在3.2.2之前,它将也接受字符串

07-26 03:58