最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

配置化Feign接口動態(tài)切換URL方式

 更新時間:2024年11月15日 08:41:43   作者:夷則sail  
本文介紹了在開發(fā)、測試和生產(chǎn)環(huán)境中使用Feign接口時,根據(jù)不同的環(huán)境動態(tài)切換調(diào)用URL的方法,通過在不同環(huán)境的配置文件中配置URL,并實現(xiàn)一個Feign攔截器來讀取這些配置,從而實現(xiàn)URL的動態(tài)切換,這種方法避免了引入過多步驟,同時也保證了不同環(huán)境下的URL正確調(diào)用

配置化Feign接口動態(tài)切換URL

最近有一個項目,其中需要對外調(diào)用的Feign接口的地址在dev、test、pro環(huán)境中都不同,由于沒有引入注冊中心,所以要切換其調(diào)用url。

考慮了很多方式:比如以數(shù)據(jù)庫存儲然后根據(jù)profil-active的不同而動態(tài)讀取,但是因為實現(xiàn)起來會引入較多步驟,就考慮到了根據(jù)配置文件的不同而在部署時動態(tài)加載。

步驟如下:

在不同環(huán)境的配置文件中都對url進(jìn)行配置

定義配置類讀取這些自定義的url配置

實現(xiàn)feign中的RequestInterceptor接口

將讀取到的url和feign接口服務(wù)名映射為map,在調(diào)用feign接口是,feign攔截器會根據(jù)feign接口的定義的name找到對應(yīng)url即可實現(xiàn)不同環(huán)境動態(tài)調(diào)用。

因為不同環(huán)境的配置文件中url不同,所以能調(diào)用到不同url。

@Configuration
public class FeignUrlInterceptor implements RequestInterceptor {

    private Map<String, String> feignUrlMap;

    @Autowired
    public FeignUrlInterceptor(FeignUrlConfig feignUrlConfig) {
        feignUrlMap = new HashMap<>();
        feignUrlMap.put(FeignConstant.TEXTSEG_FEIGN_NAME, feignUrlConfig.textsegUrl);
        feignUrlMap.put(FeignConstant.DOMAIN_FEIGN_NAME, feignUrlConfig.domainUrl);
    }


    /**
     * Called for every request. Add data using methods on the supplied {@link RequestTemplate}.
     *
     * @param template
     */
    @Override
    public void apply(RequestTemplate template) {
        String name = template.feignTarget().name();
        //System.out.println("name:" + name + "-----------------------------------------------------------------");
        String url = this.feignUrlMap.get(name);
        //System.out.println("url:" + url + "-----------------------------------------------------------------");
        template.target(url);
    }
}

需要注意的是:

RequestInterceptor接口對所有feign接口都有效。

以上,在開發(fā)、測試等環(huán)境的配置文件配置不同feign接口的url時,部署在響應(yīng)環(huán)境的服務(wù)即調(diào)用響應(yīng)的url。

不同環(huán)境的配置文件配置不同feign接口的url時,部署在相應(yīng)環(huán)境的服務(wù)即調(diào)用相應(yīng)的url。

當(dāng)然,如果能有注冊中心更方便實現(xiàn)。

總結(jié)

這些僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JAVA基礎(chǔ)之控制臺輸入輸出的實例代碼

    JAVA基礎(chǔ)之控制臺輸入輸出的實例代碼

    下面小編就為大家?guī)硪黄狫AVA基礎(chǔ)之控制臺輸入輸出的實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • SpringBoot基于Mybatis-Plus自動代碼生成

    SpringBoot基于Mybatis-Plus自動代碼生成

    這篇文章主要介紹了SpringBoot基于Mybatis-Plus自動代碼生成,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Springboot項目因為kackson版本問題啟動報錯解決方案

    Springboot項目因為kackson版本問題啟動報錯解決方案

    這篇文章主要介紹了Springboot項目因為kackson版本問題啟動報錯解決方案,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Java中的LinkedHashMap及LRU緩存機(jī)制詳解

    Java中的LinkedHashMap及LRU緩存機(jī)制詳解

    這篇文章主要介紹了Java中的LinkedHashMap及LRU緩存機(jī)制詳解,LinkedHashMap繼承自HashMap,它的多種操作都是建立在HashMap操作的基礎(chǔ)上的,同HashMap不同的是,LinkedHashMap維護(hù)了一個Entry的雙向鏈表,保證了插入的Entry中的順序,需要的朋友可以參考下
    2023-09-09
  • 使用java編程從0到1實現(xiàn)一個簡單計算器

    使用java編程從0到1實現(xiàn)一個簡單計算器

    這篇文章主要介紹了使用java編程從0到1實現(xiàn)一個簡單計算器,文章中用代碼實例講解的很清晰,有感興趣的同學(xué)可以學(xué)習(xí)研究下
    2021-02-02
  • SpringBoot連接Redis集群教程

    SpringBoot連接Redis集群教程

    這篇文章主要介紹了SpringBoot連接Redis集群教程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • Java中的ObjectOutputStream類使用

    Java中的ObjectOutputStream類使用

    ObjectOutputStream是Java.io包中的一個類,用于將Java對象的狀態(tài)信息序列化為字節(jié)流,序列化是將對象狀態(tài)轉(zhuǎn)換為字節(jié)流的過程,反序列化則是將字節(jié)流恢復(fù)為對象,本文介紹了ObjectOutputStream的原理、主要方法、使用步驟以及注意事項
    2024-09-09
  • RocketMQ延遲消息簡明介紹

    RocketMQ延遲消息簡明介紹

    這篇文章主要介紹了RocketMQ延遲消息,延遲消息是個啥?顧名思義,就是等一段時間再消費的消息。文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Java二級緩存之提升Hibernate應(yīng)用性能的關(guān)鍵詳解

    Java二級緩存之提升Hibernate應(yīng)用性能的關(guān)鍵詳解

    這篇文章主要介紹了Java二級緩存之提升Hibernate應(yīng)用性能的關(guān)鍵,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • 十分鐘速懂java知識點 System類

    十分鐘速懂java知識點 System類

    這篇文章主要介紹了java知識點System類,根據(jù)一次面試總結(jié)的,可以十分鐘速懂System類,感興趣的小伙伴們可以參考一下
    2015-12-12

最新評論

扎鲁特旗| 徐州市| 霞浦县| 哈尔滨市| 友谊县| 常宁市| 马边| 神木县| 五大连池市| 泗水县| 浦县| 光泽县| 鸡西市| 六枝特区| 辽阳市| 资阳市| 广元市| 平陆县| 洛南县| 五常市| 三明市| 珲春市| 加查县| 渑池县| 蓝田县| 房山区| 竹山县| 武功县| 青海省| 南陵县| 芦山县| 突泉县| 扎鲁特旗| 徐州市| 漳平市| 平阳县| 安新县| 朔州市| 东乡族自治县| 交口县| 永仁县|