Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
While Spring Retry has an ExponentialRandomBackOffPolicy, Spring org.springframework.util.backoff only has ExponentialBackOff, with no random features. Since org.springframework.util.backoff is reusable on many projects (such as with RestTemplate, see #17922), this functionality could be generally useful.
Since Spring Retry isn't async, its utility is limited. And Spring Retry's ExponentialRandomBackOffPolicy is tied to its blocking implementation, with a call to Thread.sleep hard-coded in the only Sleeper implementation.
It could be beneficial for use cases which require async to have access to a general-purpose ExponentialRandomBackOffPolicy implementation.