因为该版本openfeign内部整合了ribbon,故可以通过对ribbon的配置来达到更改openfeign的超时时间等。
spring-cloud-2020.0.0版本开始,这种配置即失效,可通过更改Request.Options,以达到ribbon这种效果。
#设置feign客户端超时时间(OpenFeign默认支持ribbon)
ribbon:
#指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间
ReadTimeout: 5000
#指的是建立连接后从服务器读取到可用资源所用的时间
ConnectTimeout: 5000
问题:if the request should follow 3xx redirections.
import feign.Request;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.TimeUnit;
/**
* @author issavior
*/
@Configuration
public class FeignOptionsConfig {
/**
* 超时时间配置
*/
@Bean
public Request.Options options() {
return new Request.Options(5, TimeUnit.SECONDS,
5, TimeUnit.SECONDS, true);
}
feign:
client:
config:
# 提供方的服务名
default:
#请求日志级别
loggerLevel: FULL
#设置为默认的契约(还原成原生注解)
# contract: feign.Contract.Default
# 连接超时时间,默认2s,设置单位为毫秒
connectTimeout: 5000
# 请求处理超时时间,默认5s,设置单位为毫秒。
readTimeout: 5000
feign:
client:
config:
# 提供方的服务名
ossa-service-producer:
#请求日志级别
loggerLevel: FULL
#设置为默认的契约(还原成原生注解)
# contract: feign.Contract.Default
# 连接超时时间,默认2s,设置单位为毫秒
connectTimeout: 5000
# 请求处理超时时间,默认5s,设置单位为毫秒。
readTimeout: 5000
相关源码梳理【我只截了几张源码图,我相信你们这些老粉都一定可以看懂 //狗头保命】
这里首先进行初始化,默认连接和读取的时间都为1000毫秒,加载进内存中。



如果配置文件中,有ribbon相关配置,则刷新/覆盖内存中相应的值。


