Я бы хотел вызвать определенную запланированную функцию, если свойство присутствует.
Мои свойства следующие:
tasks:
task1:
interval: "* * * ? * *"
task2:
interval: "0 * * ? * *"
Это мои функции:
@Scheduled(cron = "${tasks.task1.interval}")
public void doTask1()
{
// do something
}
@Scheduled(cron = "${tasks.task2.interval}")
public void doTask2()
{
// do something
}
Что мне нравится делать, так это то, что doTask2 () не запускается, если свойство task2 не указано.
Свойства:
tasks:
task1:
interval: "* * * ? * *"
Функции:
@ConditionalOnProperty(value = "tasks.task1")
@Scheduled(cron = "${tasks.task1.interval}")
public void doTask1()
{
// do something
}
@ConditionalOnProperty(value = "tasks.task2")
@Scheduled(cron = "${tasks.task2.interval}")
public void doTask2()
{
// do something
}
Если я попробую эту настройку, я всегда получаю следующую ошибку:
Could not resolve placeholder 'tasks.task2.interval' in value "${tasks.task2.interval}"