您的当前位置:首页正文

踩坑记录:SpringBoot集成Dubbo和Nacos版本问题

2024-11-28 来源:个人技术集锦

一、概述

最近在整理依赖,原本用的springcloud提供的nacos,看到老早都不更新了,而且有些包冲突,就换了ali的,用的spring-boot版本是2.3.9.RELEASE,对应spring-cloud版本是Hoxton.SR12,dubbo用的apache的2.7.11,nacos用的alibaba-cloud的2.2.6.RELEASE

二、问题

用yml配置的nacos-config,但是运行还是用的默认值

2023-11-30 17:06:34.027  WARN 36900 --- [           main] c.a.c.n.c.NacosPropertySourceBuilder     : Ignore the empty nacos configuration and get it based on dataId[zl-system] & group[DEFAULT_GROUP]

三、原因

debug发现,配置均为null

发现要用bootstrap。。。不想用,于是配置spring.config.import,发现该属性需要SpringBoot 2.4以上版本。。。

四、解决

spring-boot版本升级到2.4.12,对应spring-cloud版本是2020.0.4,对应的 spring cloud alibaba 版本

https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E

nacos选择2021.1,dubbo选择2.7.23(3.x会少包,可能不兼容吧,以后再升级了)(还得单独加个spring-context-support 1.0.11)。由于spring-cloud 2020版本以后,就移除了ribbon负载均衡器,官方推荐使用Spring Cloud Loadbalancer替换Ribbon,又加了个spring-cloud-starter-loadbalancer。都弄好后,发现application.yml的nacos.config并没有读,nacos就是要用bootstrap.yml优先配置,而且bootstrap本身也是引导的意思。。虽然可以强行改成加载application.yml,但是我妥协了,没必要非得对着干。

显示全文