Nacos刷新配置流程图
2023-12-27 15:01:44 25 举报
Nacos刷新配置流程图
作者其他创作
大纲/内容
add
如果检查到更新的data id,则发一个请求去拉取配置
DelegatingEventPublishingListener
refresh() 刷新容器上下文
根据autoRefreshed = true属性添加刷新监听
ScheduledExecutorService
NacosConfigReceivedEvent
替换 environment 配置
NacosConfigService
保存到 environment
每10 毫秒检查是否新的Task
load
Spring容器
NacosUtils
依次调用listener的receiveConfigInfo
......
@EnableNacosConfig
如果拉取到配置
publish
PropertiesPropertySource
environment 存储spring配置信息
一次check结束后立马提交新的check任务
返回nacos配置信息
nacos server
HttpAgent
for调用所有监听listener
NacosValueAnnotationBeanPostProcessor
优先从缓存获取,缓存没有再从ClientWorker中获取
回调
NacosConfigLoader
LongPollingRunnable
NacosPropertySource
RandomValuePropertySource
nacos client
create
NacosServiceFactory
PropertiesPlaceholderResolver
缓存本地快照LocalConfigInfoProcessor.saveSnapshot
自定义AbstractListener
得到配置信息
NacosPropertySourcePostProcessor Bean工厂后置处理器来解析处理 @NacosPropertySource 注解
本地硬盘临时目录
默认阻塞30秒,返回响应结果,期间如果有配置被修改,则直接返回结果
NacosValueAnnotationBeanPostProcessor 1、实现了BeanPostProcessor 接口,解析@NacosValue 注解。2、实现了ApplicationListener接口,用来监听NacosConfigReceivedEvent 事件,更新对应自动刷新的属性值。
加载nacos远程服务端配置
MapPropertySource
缓存
ClientWorker
ConfigFilterChainManager内容过滤器链
Listener 列表
0 条评论
回复 删除
下一页