当我们报错,希望自动多次请求重试时,步骤如下
一、开启Retryer功能(此类会被OpenFeign自动识别)
新增配置类FeignConfig,并修改Retryeri配置
Retryer,default(100,1,3)是默认请求最大次数,间隔为100ms
@Configuration
public class FeignConfig {
@Bean
public Retryer myRetryer()
{
// return Retryer.NEVER_RETRY;//Feign默认是不走重试策略订单
// 最大请求次数为3(1+2),初识间隔时间为100ms,重试最大间隔是1s
return new Retryer.Default(100,1,3);
}
}
二、修改yml
设置超时时间,不设置默认(60s),如果不设置,当报错时,将默认重试3次,花费总时间3分钟(180s)
spring:
cloud:
openfeign:
client:
config:
default:
#连接超时时间(3s)
connectTimeout: 3000
#读取超时时间(3s)
readTimeout: 3000