Spring WebClient: каков множитель по умолчанию для Retry.backoff?

#spring #spring-webclient #reactor-netty

#spring #spring-webclient #реактор-нетти

Вопрос:

Я пытаюсь понять множитель по умолчанию для экспоненциальной стратегии возврата для метода Spring WebClient Retry.backoff. И можно ли это настроить? Я не могу найти документацию для этого.

https://projectreactor.io/docs/core/release/api/reactor/util/retry/Retry.html#backoff-long-java.time.Продолжительность-

Версия: reactor-netty 0.9.12.RELEASE

Комментарии:

1. это может помочь: baeldung spring-повторите попытку

Ответ №1:

Метод утилиты Retry.backoff , как вы правильно сказали, создает экспоненциальную стратегию возврата. Множитель равен 2. Другими словами, период задержки удваивается по длине при каждой повторной попытке / сбое.

Вы можете увидеть это в действии в reactor.util.retry .RetryBackoffSpec#generateCompanion.

«Множитель», как вы можете видеть, жестко запрограммирован и поэтому не настраивается «из коробки». Чтобы использовать что-то отличное от того, что 2 вы бы создали свою собственную Retry реализацию и специально внедрили generateCompanion() метод для выполнения логики, как это делается в RetryBackoffSpec , но с использованием вашего собственного пользовательского множителя.

Комментарии:

1. Принимая это как ответ, который я проверил вручную, внедрив его, чтобы никому не приходилось проверять его снова.