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");
}