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

解讀nacos獲取配置文件的大致過程

 更新時間:2024年07月15日 09:32:26   作者:jsenht  
這篇文章主要介紹了nacos獲取配置文件的大致過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

一、spring 體系相關(guān)類

(主要借助spring的api,自動注入配置信息)

com.alibaba.nacos.spring.core.env.AbstractNacosPropertySourceBuilder
com.alibaba.nacos.spring.core.env.NacosPropertySourcePostProcessor
com.alibaba.nacos.spring.util.config.NacosConfigLoader

主要是將ConfigService(實現(xiàn)類NacosConfigService)

獲取的配置信息添加到environment.getPropertySources()

二、配置

1、獲取配置文件

獲取配置文件由ConfigService的getConfig接口提供,

實現(xiàn)類的核心流程就是根據(jù)配置的nacos地址使用,當(dāng)然會有一些優(yōu)先級之類的處理

網(wǎng)絡(luò)請求由com.alibaba.nacos.client.config.impl.ClientWorker的getServerConfig處理

(getServerConfig->HttpAgent(MetricsHttpAgent)->HttpAgent(ServerHttpAgent)->HttpSimpleClient->HttpURLConnection);

2、監(jiān)聽配置更新

拉取數(shù)據(jù)其實是在NacosConfigService創(chuàng)建的時候就開始的

NacosConfigService創(chuàng)建的時候

Nacos創(chuàng)建ClientWorker成員變量

worker = new ClientWorker(agent, configFilterChainManager);

然后在worker的構(gòu)造函數(shù)啟動time task:

        executor.scheduleWithFixedDelay(new Runnable() {
            public void run() {
                try {
                    checkConfigInfo();
                } catch (Throwable e) {
                    log.error(agent.getName(), "NACOS-XXXX", "[sub-check] rotate check error", e);
                }
            }
        }, 1L, 10L, TimeUnit.MILLISECONDS);


executorService.execute(new LongPollingRunnable(i));


List<String> changedGroupKeys = checkUpdateDataIds(cacheDatas, inInitializingCacheList);

checkUpdateConfigStr(sb.toString(), isInitializingCacheList)

checkUpdateConfigStr最終會調(diào)用http請求,http請求將本地配置文件的md5計算后傳給nacos服務(wù)器,服務(wù)器根據(jù)MD5

計算返回變動了的配置文件的列表,client在根據(jù)這個結(jié)果拉取配置文件,

nacos的配置監(jiān)聽使用異步 Servlet 技術(shù),默認在配置相同的情況下,會等待30秒,不然會立刻獲取配置信息

com.alibaba.nacos.config.server.controller.ConfigServletInner

nacos在這里處理異步返回的結(jié)果

總結(jié)

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

相關(guān)文章

  • java按鈕控件數(shù)組實現(xiàn)計算器界面示例分享

    java按鈕控件數(shù)組實現(xiàn)計算器界面示例分享

    本文主要介紹了JAVA通過按鈕數(shù)組來管理界面中的所有按鈕控件,從而使用最少的代碼實現(xiàn)模擬的計算器界面
    2014-02-02
  • Java 基礎(chǔ)語法

    Java 基礎(chǔ)語法

    這篇文章主要介紹了Java 基礎(chǔ)語法,Java 是一門面向?qū)ο蟮慕忉屝途幊陶Z言,面向?qū)ο?意味著我們應(yīng)該把一個 Java 程序看作一系列對象的集合,我們的工作就是構(gòu)建這些對象,并通過調(diào)用彼此的方法來讓各種對象協(xié)同工作,解決實際的問題,下面文章內(nèi)容需要的朋友可以參考下一
    2021-11-11
  • Java數(shù)組實例練習(xí)題整理

    Java數(shù)組實例練習(xí)題整理

    在本篇文章中小編給各位分享的是關(guān)于Java數(shù)組實例練習(xí)題以及相關(guān)代碼整理,有需要的朋友們跟著學(xué)習(xí)下。
    2019-07-07
  • Spring(二):Spring通過IOC來創(chuàng)建對象

    Spring(二):Spring通過IOC來創(chuàng)建對象

    下面小編就為大家?guī)硪黄斦凷pring對IOC的理解(推薦篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-07-07
  • Spring Integration Redis 使用示例詳解

    Spring Integration Redis 使用示例詳解

    本文給大家介紹Spring Integration Redis的配置與使用,涵蓋依賴添加、Redis連接設(shè)置、分布式鎖實現(xiàn)、消息通道配置及最佳實踐,包括版本兼容性、連接池優(yōu)化、序列化和常見問題解決方案,指導(dǎo)高效集成與應(yīng)用,感興趣的朋友跟隨小編一起看看吧
    2025-08-08
  • Spring?Boot如何在加載bean時優(yōu)先選擇我

    Spring?Boot如何在加載bean時優(yōu)先選擇我

    這篇文章主要介紹了Spring?Boot如何在加載bean時優(yōu)先選擇我,在?Spring?Boot?應(yīng)用程序中,我們可以采取三種方式實現(xiàn)自己的?bean?優(yōu)先加載,本文通過實例代碼給大家詳細講解,需要的朋友可以參考下
    2023-03-03
  • Mybatis調(diào)用SQL?Server存儲過程的實現(xiàn)示例

    Mybatis調(diào)用SQL?Server存儲過程的實現(xiàn)示例

    在軟件開發(fā)過程中,經(jīng)常會使用到存儲過程,本文就來介紹一下Mybatis調(diào)用SQL?Server存儲過程的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 詳解Java雙軸快速排序算法

    詳解Java雙軸快速排序算法

    在排序算法中,快速排序是占比非常多的一環(huán),但是快速排序其思想一直被考察研究,也有很多的優(yōu)化方案。這里主要講解雙軸快速排序的思想和實現(xiàn)
    2021-06-06
  • springboot集成opencv實現(xiàn)人臉識別功能的詳細步驟

    springboot集成opencv實現(xiàn)人臉識別功能的詳細步驟

    大家都知道OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計算機視覺和機器學(xué)習(xí)軟件庫,可以運行在Linux、Windows、Android和Mac OS操作系統(tǒng)上今天通過本文給大家分享springboot集成opencv實現(xiàn)人臉識別,感興趣的朋友一起看看吧
    2021-06-06
  • 兼容Spring Boot 1.x和2.x配置類參數(shù)綁定的工具類SpringBootBindUtil

    兼容Spring Boot 1.x和2.x配置類參數(shù)綁定的工具類SpringBootBindUtil

    今天小編就為大家分享一篇關(guān)于兼容Spring Boot 1.x和2.x配置類參數(shù)綁定的工具類SpringBootBindUtil,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評論

合江县| 蓝田县| 扶余县| 青海省| 徐水县| 玉溪市| 日照市| 伽师县| 广河县| 张家界市| 台中市| 松溪县| 盐边县| 裕民县| 阿克苏市| 班戈县| 垫江县| 方山县| 独山县| 宝坻区| 汾西县| 祁门县| 江阴市| 陆良县| 南投县| 广东省| 当雄县| 确山县| 三河市| 饶河县| 鸡西市| 浪卡子县| 黑河市| 河津市| 蕉岭县| 常宁市| 封开县| 南京市| 宜兰县| 茶陵县| 博乐市|