如何禁用 Fake 的自动重试逻辑



正如Feign文档中提到的,默认情况下,将自动重试IOException s。

我们的项目中还有其他retry逻辑,我想阻止Feign的。有没有简单的方法可以禁用它?还是应该编写我自己的重试器?

我们正在使用Spring Cloud的开放式伪装库。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

如果要更改默认重试行为,则需要提供自己的Retryer。 它可以直接应用于Feign.builder,也可以将其注册为Bean。 无论哪种方式,都必须实现feign.Retryer接口。

至少

从版本 spring-cloud-starter-openfeign 2.2.6 开始,您不需要执行任何操作。Spring 禁用FeignClientsConfiguration中的重试。所以 Feign 不会对IOException进行重试。

    @Bean
    @ConditionalOnMissingBean
    public Retryer feignRetryer() {
        return Retryer.NEVER_RETRY;
    }

顺便说一下,除了在 Feign 级别IOException之外,不可能对异常进行重试。

相关内容

  • 没有找到相关文章

最新更新