FeignClient设置超时时间(包括方法级别)
一、简介
Spring Cloud Feign Client 是一个方便的声明式 REST 客户端,我们用它来实现微服务之间的通信。
在这个简短的教程中,我们将展示如何设置自定义的 Feign 客户端连接超时,包括全局和每个客户端。
2. 默认值
Feign Client 是相当可配置的。
在超时方面,它允许我们配置读取和连接超时。连接超时是 TCP 握手所需的时间,而读取超时需要从套接字读取数据。
默认情况下,连接超时和读取超时分别为 10 秒和 60 秒。
3. 全局配置
我们可以通过 application.yml 文件中设置的 feign.client.config.default 属性设置应用程序中每个 Feign Client 的连接和读取超时:
feign:
client:
config:
default:
connectTimeout: 60000
readTimeout: 10000
这些值表示发生超时之前的毫秒数。
4. 每个客户端
也可以通过命名客户端来为每个特定客户端设置这些超时:
feign:
client:
config:
FooClient: #contextId
connectTimeout: 10000
readTimeout: 20000
而且,我们当然可以毫无问题地列出一个全局设置和每个客户端的覆盖。
5. 单个方法
@PostMapping("/test") void test(@RequestParam Long id, Request.Options options);
Request.Options options = new Request.Options(5L,TimeUnit.SECONDS, 60L, TimeUnit.SECONDS, true); feignClient.test(1L, options);
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版