正如在Feign的文档中提到的,默认情况下,将自动重试IOException%s。
我们的项目中还有一些retry逻辑,我想防止伪装。有什么简单的方法可以禁用它吗?还是应该写我自己的复古版?
我们使用的是Spring cloud的open feign库。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>发布于 2019-05-20 22:06:33
如果您希望更改默认重试行为,则需要提供您自己的Retryer。它可以直接应用于Feign.builder,也可以注册为Bean。无论哪种方式,您都必须实现feign.Retryer接口。
发布于 2021-01-14 05:53:32
至少在spring-cloud-starter-openfeign 2.2.6版本中,您不需要执行任何操作。Spring禁用FeignClientsConfiguration中的重试。因此,Feign不会为IOException执行重试。
@Bean
@ConditionalOnMissingBean
public Retryer feignRetryer() {
return Retryer.NEVER_RETRY;
}顺便说一句,在伪装级别上不可能对IOException以外的异常进行重试。
https://stackoverflow.com/questions/55400006
复制相似问题