My Properties class:
@Data
@Configuration
@ConfigurationProperties(prefix = "application.keys")
public class MyProperties {
private Duration duration;
private String cronValue;
}
In application.yml file:
application:
keys:
duration: PT1H
cron-value: "* 0/1 * * * *"
My Scheduler class:
@Service
@RequiredArgsConstructor
public class MyScheduler {
private final MyProperties myProperties;
@Scheduled(cron = "#{myProperties.cronValue}")
public void run() {
System.out.println(OffsetDateTime.now().plus(myProperties.getDuration()));
}
}
It is not working as well:
@Scheduled(cron = "${application.keys.cron-value}")
“Could not resolve placeholder application.cron-value”