亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Spring Cloud Edgware新特性之三:使用配置屬性自定義Feign的行為

標簽:
Spring Cloud

Spring Cloud是当前炙手可热的微服务开发框架。它的功能强大,组件丰富,设计优雅。目前Spring Cloud还在不断发展之中。

Spring Cloud即将发布Spring Cloud Edgware 版本。该版本解决了不少Bug,新增了不少新特性,本系列博客将为大家详细阐述在Spring Cloud Edgware中新增的特性。

我们知道:

  • Ribbon在Spring Cloud Brixton 版中,只能使用Java代码自定义配置

  • Ribbon在Spring Cloud Camden 版中,可使用Java代码自定义配置,也可使用配置属性自定义配置,两者等价。配置属性配置的方式为我们带来更好的使用体验和开发效率。

  • Feign使用Java代码自定义配置的方式跟Ribbon非常类似

  • 遗憾的是:在Spring Cloud Camden 中,Feign依然不支持使用配置属性来自定义配置。

该遗憾已在Spring Cloud Edgware 得到了填补——从此,Feign也支持配置属性自定义配置啦!

下面我们来看看如何使用配置属性自定义Feign的行为

配置指定名称的Feign Client

对于一个指定名称的Feign Client(例如该Feign Client的名称为feignName ):

feign:  client:    config:      feignName:        connectTimeout: 5000  # 相当于Request.Options        readTimeout: 5000     # 相当于Request.Options
        # 配置Feign的日志级别,相当于代码配置方式中的Logger        loggerLevel: full
        # Feign的错误解码器,相当于代码配置方式中的ErrorDecoder        errorDecoder: com.example.SimpleErrorDecoder
        # 配置重试,相当于代码配置方式中的Retryer        retryer: com.example.SimpleRetryer
        # 配置拦截器,相当于代码配置方式中的RequestInterceptor        requestInterceptors:          - com.example.FooRequestInterceptor          - com.example.BarRequestInterceptor        decode404: false

通用配置

上面讨论了如何配置特定名称的Feign Client,那么如果想为所有的Feign Client都进行配置,该怎么办呢?我们知道,@EnableFeignClients 注解上有个defaultConfiguration 属性,我们可以将默认配置写成一个类,然后用defaultConfiguration 来引用,例如:

@EnableFeignClients(defaultConfiguration = DefaultRibbonConfig.class)

那么如果想使用配置属性该怎么办呢?

如果你想配置所有的Feign Client,只需像如下配置即可:

feign:
  client:
    config:
      default:
        connectTimeout: 5000
        readTimeout: 5000
        loggerLevel: basic

如果你不小心又使用了Java代码配置Feign,同时又使用了配置属性配置Feign,那么使用配置属性的优先级更高。配置属性配置的方式将会覆盖Java代码配置。如果你想修改代码配置方式的优先级,可使用如下属性:feign.client.default-to-properties=false

TIPS:




點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
架構師
手記
粉絲
6633
獲贊與收藏
1784

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消