使用spring响应式WebClient,我使用一个API,如果响应状态为500,我需要使用指数退避重试。但是在 Mono 类中,我没有看到任何以 Predicate 作为输入参数的 retryBackoff。
这是我搜索的那种功能:
public final Mono<T> retryBackoff(Predicate<? super Throwable> retryMatcher, long numRetries, Duration firstBackoff)
现在我的实现如下(我没有使用 backOff 机制重试):
client.sendRequest()
.retry(e -> ((RestClientException) e).getStatus() == 500)
.subscribe();