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

ime*_*emi 2 spring reactor-netty spring-webclient

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

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

版本: reactor-netty 0.9.12.RELEASE

rew*_*olf 5

正如您所说,实用方法Retry.backoff创建了指数退避策略。乘数为 2。换句话说,每次重试/失败时,退避期的长度都会加倍。

您可以在reactor.util.retry.RetryBackoffSpec#generateCompanion中看到这一点。

正如您所看到的,“乘数”是硬编码的,因此不能直接配置。为了使用除您之外的其他内容,2您需要创建自己的Retry实现,并专门实现该generateCompanion()方法来执行逻辑RetryBackoffSpec,但使用您自己的自定义乘法器。