I know I can inject the value from properties file with the following syntax:
@Scheduled(fixedRate=${myRate}) public void getSchedule(){ System.out.println("in scheduled job"); }
However I can't guess how to accomplish the same if the configuration is in YAML file.
Thanks in advance,
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"); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With