OpenFeign超時時間設(shè)置不生效問題排查記錄
OpenFeign超時時間設(shè)置不生效問題排查
最近升級springboot 3,突然發(fā)現(xiàn)配置文件中的openFeign的超時時間設(shè)置不生效了
之前配置
如下:
feign:
client:
config:
default:
connectTimeout: 3000
readTimeout: 5000查資料都是說ribbon或者h(yuǎn)ystrix的超時時間設(shè)置問題,但實際并不是,沒辦法,去看源碼,在FeignClientFactoryBean這個類里的
protected void configureFeign(FeignClientFactory context, Feign.Builder builder) {
FeignClientProperties properties = this.beanFactory != null ? (FeignClientProperties)this.beanFactory.getBean(FeignClientProperties.class) : (FeignClientProperties)this.applicationContext.getBean(FeignClientProperties.class);
FeignClientConfigurer feignClientConfigurer = (FeignClientConfigurer)this.getOptional(context, FeignClientConfigurer.class);
this.setInheritParentContext(feignClientConfigurer.inheritParentConfiguration());
if (properties != null && this.inheritParentContext) {
if (properties.isDefaultToProperties()) {
this.configureUsingConfiguration(context, builder);
this.configureUsingProperties((FeignClientProperties.FeignClientConfiguration)properties.getConfig().get(properties.getDefaultConfig()), builder);
this.configureUsingProperties((FeignClientProperties.FeignClientConfiguration)properties.getConfig().get(this.contextId), builder);
} else {
this.configureUsingProperties((FeignClientProperties.FeignClientConfiguration)properties.getConfig().get(properties.getDefaultConfig()), builder);
this.configureUsingProperties((FeignClientProperties.FeignClientConfiguration)properties.getConfig().get(this.contextId), builder);
this.configureUsingConfiguration(context, builder);
}
} else {
this.configureUsingConfiguration(context, builder);
}
}可以看到配置是從FeignClientProperties這里讀的
完后進入這個類,發(fā)現(xiàn)注解
@ConfigurationProperties("spring.cloud.openfeign.client")對比之前的版本,這個類的注解為
@ConfigurationProperties("feign.client")所以問題很明顯了,將配置改為
spring:
cloud:
openfeign:
client:
config:
default:
connectTimeout: 3000
readTimeout: 5000問題解決
多說兩句,其實除了看源碼,直接看官網(wǎng)可能更直接一點
https://docs.spring.io/spring-cloud-openfeign/docs/current/reference/html/#timeout-handling
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JAVASE精密邏輯控制過程詳解(分支和循環(huán)語句)
在一個程序執(zhí)行的過程中各條語句的執(zhí)行順序?qū)Τ绦虻慕Y(jié)果是有直接影響的,這篇文章主要給大家介紹了關(guān)于JAVASE精密邏輯控制(分支和循環(huán)語句)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04
java網(wǎng)絡(luò)通信技術(shù)之簡單聊天小程序
這篇文章主要為大家詳細(xì)介紹了java網(wǎng)絡(luò)通信技術(shù)之簡單聊天小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07
Java基于ip2region.xdb數(shù)據(jù)庫從IP獲取到屬地解析的全攻略
在日常的Java開發(fā)中,IP地址相關(guān)的操作是非常常見的需求,無論是用戶行為分析、地域化服務(wù),還是安全防護,都需要精準(zhǔn)地獲取和解析IP信息,本文將詳細(xì)介紹一個功能完善的Java IP工具類,需要的朋友可以參考下2026-02-02

