Inject @Scheduled fixedRate value from Spring Boot application.yml file

In my application.properties (YAML) I put this

console:
    fetchMetrics: 5000

Then in my simple Task class I push the definition :

@Scheduled(fixedRateString ="${console.fetchMetrics}", initialDelay=1000)
public void fetchMetrics() {
    logger.info("What's up ?");
}

Please notice that fixedRate expects a long and you want to inject a placeholder, you will need fixedRateString


I find it easy once done for my project.
Change fixedRate to fixedRateString and put the property key in double quotes like this:

@Scheduled(fixedRateString="${myRate}")
public void getSchedule() {
    System.out.println("Scheduled job");
}