Java 反应器-基于项字段值重试

Java 反应器-基于项字段值重试,java,spring-boot,spring-webflux,project-reactor,spring-webclient,Java,Spring Boot,Spring Webflux,Project Reactor,Spring Webclient,我正在使用Webflux的spring启动应用程序 如果出现错误,我需要重试请求,但我还需要检查对象属性是否为true。此属性是一个布尔值,用于检查是否可以重试 例如: webClient .post() .uri(object.getUrl()) .body(BodyInserters.fromValue(docRequest)) .retrieve() .bodyToMono(Document.class)

我正在使用Webflux的spring启动应用程序

如果出现错误,我需要重试请求,但我还需要检查对象属性是否为true。此属性是一个布尔值,用于检查是否可以重试

例如:

webClient
        .post()
        .uri(object.getUrl())
        .body(BodyInserters.fromValue(docRequest))
        .retrieve()
        .bodyToMono(Document.class)
        .retry()
        .filter(e -> object.isRetry())
我试过这种方法,但过滤器不起作用


有什么过滤方法吗?

您可以使用retryWhen的更高级功能

以前从未这样做过,但阅读以下内容可能会有用:

.retryWhen(Retry.from(companion->companion.filter(it->object.isRetry()))