Search code examples
javaspringcronscheduling

Spring scheduled fixedRateString as Duration


The @Scheduled documentation here states that the fixedRateString value can be the delay in milliseconds as a String value, e.g. a placeholder or a java.time.Duration compliant value. Meaning I can either write

@Scheduled(fixedRateString = "45s")

OR

@Scheduled(fixedRateString = "45000")

And it should be the same. However when I try to run it I get

Encountered invalid @Scheduled method 'updateWarmupInstances': Invalid fixedRateString value "45s" - cannot parse into long

So it this a mistake on Spring's part or am I doing something wrong ?


Solution

  • You are looking at the return value of the method, not the input. The input can only be a String in milliseconds, but the return value is a value compliant with Duration.