本文阐述问题所使用的组件版本分别是,Dubbo:3.2.4,Nacos服务端:2.2.3,Nacos客户端:2.2.4。
在Dubbo3的官方文档中,关于如何使用Nacos作为配置中心的详细介绍参考:Nacos。
但非常沮丧的是我参照文档的描述,并没有成功将Nacos2配置成为Dubbo3项目的配置中心。
期间也看到有人在github上提出相关的问题,但似乎暂时还没有解决办法,详见:springboot+nacos+dubbo无法正常从nacos读取dubbo初始化配置。最后是参考了Nacos + Dubbo + SpringBoot 集成 注册中心 配置中心才配置成功的。
前置条件:根据Nacos官方手册部署好Nacos环境。
第一步:添加nacos-config-spring-boot-starter
依赖,需要使用到其中的注解和配置。
1 | <dependency> |
第二步:在项目配置文件中添加Nacos作为配置中心的参数。
1 | nacos: |
第三步:在项目中使用注解@NacosValue
读取nacos上的配置参数。
假设nacos上配置参数data-id为“consumer.yaml”,内容如下:
1 | user: |
则可以在Java代码中使用注解@NacosValue
读取相应的配置参数,如果希望参数值动态刷新,必须设置autoRefreshed
为true。
1 |
|
最后验证:只要在nacos控制台界面上修改了对应的配置参数之后,在nacos客户端就能及时刷新到最新值。