11-Nacos-监听配置变化
nacos
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
项目地址:https://gitcode.com/gh_mirrors/na/nacos
免费下载资源
·
核心是 @NacosConfigListener
1、触发机制
1. Nacos配置初始化加载时被调用一次。
2. Nacos配置文件发生变化时
3. Nacos的数据持久层发生变化时。Nacos支持多种数据持久化方式,当数据持久化方式切换时,也会触发@NacosConfigListener标注的方法。
4. 其他的配置变化。除上述情况外,任何可能影响Nacos配置的变化,都会触发@NacosConfigListener标注的方法。
注意添加依赖
不清楚的可以看nacos专栏中之前的文章
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2、配置类
@NacosValue 支持动态刷新
autoRefreshed=true指的是nacos中配置发生改变后会刷新,false代表只会使用服务启动时候读取到的值
@Configuration
@NacosPropertySource(dataId = "input", groupId = "node1-server", autoRefreshed = true)
@NacosPropertySource(dataId = "sink", groupId = "node1-server", autoRefreshed = true)
public class NacosConfig {
@NacosValue(value = "${input}", autoRefreshed = true)
private String input;
@NacosValue(value = "${sink}", autoRefreshed = true)
private String sink;
public String getInput() {
return input;
}
public String getSink() {
return sink;
}
}
3、监听器
开启监听,当配置发生变化时,会进行通知回调。
@Autowired
private NacosConfig nacosConfig;
@NacosConfigListener
public void onChange(String config, RefreshMode mode, String dataId, String group) throws NacosException {
System.out.println("配置已经刷新,dataId:" + dataId + ", group:" + group
+ ",新值:" + config);
}
GitHub 加速计划 / na / nacos
29.83 K
12.75 K
下载
Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。
最近提交(Master分支:3 个月前 )
4334cd16
* Support custom client configuration timeout.(#12748)
* Add UT.(#12748) 17 天前
b04d2266
21 天前
更多推荐
已为社区贡献3条内容
所有评论(0)