Динамическая конфигурация для @Scheduled в Spring Boot - PullRequest
0 голосов
/ 23 декабря 2018

Я пытаюсь динамически настроить расписание Spring Boot с помощью файла конфигурации.

Цель состоит в том, чтобы в моем application.yml было следующее:

platform:
  plata:
    schedule:
      cron: '0 0 9 * * *'
  platb:
    schedule:
      initialDelay = 20000
      fixedDelay = 10000000

What I 'Я пытаюсь понять, как я могу применить эту конфигурацию к аннотациям @Scheduled.Я думал что-то вроде следующего:

Scheduler.java:

@Scheduled("${platform.plata.schedule}")
public void plata() throws CalculationException {
    ...
}

@Scheduled("${platform.platb.schedule}")
public void platb() throws CalculationException {
    ...
}

1 Ответ

0 голосов
/ 23 декабря 2018

Используйте полный путь свойства в вашей конфигурации.

Выражение кукурузы должно быть 0 0 9 * * * note no ' -chars

@Scheduled(cron="${platform.plata.schedule.cron}")
public void withCron() {
    // 
}

@Scheduled(initialDelayString = "${platform.platb.schedule.initialDelay}" ,fixedDelayString= "${platform.platb.schedule.fixedDelay}")
public void withFixedDelay() {
    // 
}
...