Я использую следующую аннотацию в методе, который хочу повторить:
@Retryable(maxAttempts = 5, backoff = @Backoff(delay = 1000))
private boolean myMethod() {
...
}
Эта повторная попытка работает должным образом, как и экспоненциальная задержка, которая не показана. В некоторых случаях я хотел бы использовать линейную инкрементную повторную попытку, а не экспоненциальную (сначала 1-секундное ожидание, затем 2-секундное, 3-секундное и т. Д.). Похоже, мне нужно delayExpresion
, но я не знаком со SpEL, чтобы знать, что здесь использовать. Я пытался:
@Retryable(maxAttempts = 5, backoff = @Backoff(delay = 1000, delayExpression = "#{delay + 1000}"))
Возможно ли то, что я пытаюсь сделать (где задержка увеличивается на 1000) с помощью SpEL? Или, может быть, мой подход к линейному повторению вообще верен?