Spring WebClient:Retry.backoff 的默认乘数是多少?

Spring WebClient: What is the default multiplier for Retry.backoff?

我正在尝试了解 Spring WebClient Retry.backoff 方法的指数退避策略的默认乘数。这可以配置吗?我找不到这方面的文档。

https://projectreactor.io/docs/core/release/api/reactor/util/retry/Retry.html#backoff-long-java.time.Duration-

版本: 反应网络 0.9.12.RELEASE

实用方法 Retry.backoff,正如您所说的正确,创建了指数退避策略。乘数为 2。换句话说,退避期的长度在每个 retry/failure.

上加倍

您可以在 reactor.util.retry.RetryBackoffSpec#generateCompanion 中看到实际效果。

如您所见,“乘数”是硬编码的,因此无法立即配置。为了使用 2 以外的东西,您将创建自己的 Retry 实现并具体实现 generateCompanion() 方法来执行在 RetryBackoffSpec 中完成的逻辑,但使用您自己的自定义乘数。