【nacos配置中心】源码部分解析

news/2024/10/31 1:30:29/

启动初始化

SpringApplication.prepareContext

在这里插入图片描述
在这里插入图片描述

applyInitializers

回调ApplicationContextInitializer的initialize方法
在这里插入图片描述

getInitializers()从applicationContext获取List<ApplicationContextInitializer<?>> initializers
在这里插入图片描述
这个集合是通过SpringApplication的构造方法初始化
同样在这里也会初始化加载ApplicationListener事件监听器

在这里插入图片描述

PropertySourceBootstrapConfiguration.initialize

遍历propertySourceLocators,执行locator的locateCollection方法
在这里插入图片描述
NacosPropertySourceLocator实现了propertySourceLocators
在这里插入图片描述

NacosPropertySourceLocator.locate

在这里插入图片描述

loadSharedConfiguration

加载shared配置
在这里插入图片描述
通过nacosConfigProperties读取sharedConfigs配置,在这里如果我们封装脚手架,可以通过系统设置默认配置读取
在这里插入图片描述

扩展:nacos自定义配置yaml文件读取

自定义读取配置,可以配置默认的 xxx.yaml
在这里插入图片描述
启动时装载
在这里插入图片描述

读取dataId数据

获取到sharedConfigs之后
在这里插入图片描述通过dataId获取数据
在这里插入图片描述
configService.getConfig通过grpc去服务端拉取配置并返回,具体代码省略


http://www.ppmy.cn/news/48075.html

相关文章

第三十二章 配置镜像 - 编辑或删除故障转移成员

文章目录 第三十二章 配置镜像 - 编辑或删除故障转移成员编辑或删除故障转移成员 第三十二章 配置镜像 - 编辑或删除故障转移成员 编辑或删除故障转移成员 导航至编辑镜像页面(系统管理>配置>镜像设置>编辑镜像)。使用备份故障转移成员上的删除镜像配置按钮将其从镜…

ChatGpt API接口编程基础与使用

在研读完OpenAi官网文档的基础上&#xff0c;本文大部分内容是围绕编程方面&#xff0c;包括ChatGPT模型接口、图像生成接口、敏感数据拦截等&#xff0c;只有一小部分内容围绕如何通过temperature调参优化使用提示技巧。 一、OpenAi Api调用库 OpenAi开放了一系列模型接口API…

AUTOSAR存储服务之FEE换页策略介绍

概述 如下图是AUTOSAR Memory Stack的架构图,对于Memory Stack的介绍请参考AUTOSAR MemoryStack详细介绍_钢琴上的汽车软件的博客-CSDN博客 随着现在MCU携带的内置flash空间越来越大,从成本节省以及方便使用等方面考虑,在产品设计和开发过程中常用Flash EEPROM Emulation技…

Perl学习教程大纲

以下是一个可能的 Perl 学习教程大纲&#xff1a; 一、Perl 简介 Perl 的历史和发展 Perl 的特点和优点 Perl 的应用领域 二、Perl 基础语法 Perl 的变量和数据类型 Perl 的运算符和表达式 Perl 的控制结构&#xff08;if、while、for、foreach 等&#xff09; Perl 的…

Linux操作系统网络模块

Linux操作系统的网络模块是负责网络通信的核心部分。它通过实现各种协议和算法&#xff0c;使得计算机能够在网络中进行数据交换和通信。网络模块主要包括以下几个方面的功能&#xff1a; &#xff08;1&#xff09;IP协议栈&#xff1a;负责处理网络层的数据包&#xff0c;实…

Java语法理论和面经杂疑篇《十一. JDK8新特性》

目录 1. Java版本迭代概述 1.1 发布特点&#xff08;小步快跑&#xff0c;快速迭代&#xff09; 1.2 名词解释 1.3 各版本支持时间路线图 1.4 各版本介绍 1.5 JDK各版本下载链接 1.6 如何学习新特性 2. Java8新特性&#xff1a;Lambda表达式 2.1 关于Java8新特性简介 …

C++ 原型模式探秘:轻松复制对象的高效解决方案

目录标题 引言&#xff1a;原型模式概述&#xff08;Introduction: Overview of Prototype Pattern&#xff09;设计模式简介&#xff08;Brief Introduction to Design Patterns&#xff09;原型模式的定义及作用&#xff08;Definition and Purpose of Prototype Pattern&…

ijkplayer 编译增加支持更多的音视频格式

ijkplayer是B站开源的一款基于ffmpeg的移动端播放器。但为了减少播放器的体积&#xff0c;很多音视频的格式播放默认都是不支持的&#xff0c;需要自己下载ijkplayer源码进行编译。这里以mac环境下android为例&#xff0c;简述ijkplayer的编译过程&#xff0c;以及为了支持更多…