FeignClient设置超时时间(包括方法级别)

打印 上一主题 下一主题

主题 1016|帖子 1016|积分 3048

一、简介
Spring Cloud Feign Client 是一个方便的声明式 REST 客户端,我们用它来实现微服务之间的通信。
在这个简短的教程中,我们将展示如何设置自定义的 Feign 客户端连接超时,包括全局和每个客户端。
2. 默认值
Feign Client 是相当可配置的。
在超时方面,它允许我们配置读取和连接超时。连接超时是 TCP 握手所需的时间,而读取超时需要从套接字读取数据。
默认情况下,连接超时和读取超时分别为 10 秒和 60 秒。
3. 全局配置
我们可以通过 application.yml 文件中设置的 feign.client.config.default 属性设置应用程序中每个 Feign Client 的连接和读取超时:
  1. feign:
  2.   client:
  3.     config:
  4.       default:
  5.         connectTimeout: 60000
  6.         readTimeout: 10000
复制代码
这些值表示发生超时之前的毫秒数。
4. 每个客户端
也可以通过命名客户端来为每个特定客户端设置这些超时:
  1. feign:
  2.   client:
  3.     config:
  4.       FooClient:
  5.         connectTimeout: 10000
  6.         readTimeout: 20000
复制代码
而且,我们当然可以毫无问题地列出一个全局设置和每个客户端的覆盖。
5. 单个方法
  1. @PostMapping("/test")
  2. void test(@RequestParam Long id, Request.Options options);
复制代码
  1. Request.Options options = new Request.Options(5L,TimeUnit.SECONDS, 60L, TimeUnit.SECONDS, true);
  2. feignClient.test(1L, options);
  3.             
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我可以不吃啊

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表