SpringCloud OpenFeign 如何为不同的接口配置不同的超时时间

发布于 2022-09-13 00:18:28 字数 391 浏览 22 评论 0

项目版本描述

  • SpringCloud 微服务架构
  • SpringCloud H版
  • SpringBoot 2.2.x版本

问题描述

OpenFeign 默认的超时时间是1秒,但是可以在配置文件中使用ribbon进行配置,修改默认的超时时间,但是这个是针对所有的FeignClient进行配置生效的,在实际的项目中,同一个消费端要调用不同的服务端进行处理业务的,同时每一个服务端也会提供多个接口来处理,怎么在在消费端进行配置呢,为不同的服务端配置不同的超时时间,为不同的接口配置不同的超时时间?

期望

  • 在同一个消费端为不同的服务端提供者配置超时时间
  • 在同一个消费端的同一个服务端提供者里面的不同接口配置超时时间

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

薔薇婲 2022-09-20 00:18:29

@_TNT_ 的基础上补充一下,SpringCloud OpenFeign 可以为 Client 指定超时时间,所以把同一个服务端提供者的不同超时时间的接口放在不同的 Client 就行了,通过 contextId 区分。不过我不清楚 SpringCloud H 版是否有这个特性

愁杀 2022-09-20 00:18:28

支持的,openfeign 10.3.0 以后都可以,注意是 openfeign 而不是spring-cloud-openfeign

interface MyClient {
   @RequestLine("GET /data")
   public MyResponse getMyData(Request.Options options);
}

Request.Options:

public static class Options {
    private final int connectTimeoutMillis;
    private final int readTimeoutMillis;
    private final boolean followRedirects;
        
    // .......
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文