In preparation for #34529, several characteristics of our initial RetryTemplate implementation turn out to deviate from common retry practices, as provided by Reactor's retry support which we will use side-by-side in our retry interceptor.
Most importantly, we expose the first rather than the last exception as a RetryException root cause. Also, the back-off only kicks in after a failed first retry attempt, not after the the initial exception, and does not stop on a BackOffExecution.STOP signal.
As of 7.0 M7, we consistently use BackOff and expose the last exception in RetryException now.