bootstart.yml配置的Nacos 配置中心 配置A命名空间,却使用B命名空间 问题。

最近碰到一个有意思的问题,本人被公司分配到一个新的项目上,正好处于框架整合Nacos 配置中心的阶段,因为刚学习完,自信心异常膨胀。突然又遇到问题,导致信心崩盘,随后找到问题,快速又一次建立膨胀的信心。
叙述问题,目前涉及开发环境和测试环境。首先看一下项目的配置文件。
在这里插入图片描述
这个是我bootstrap.yml的信息
在这里插入图片描述
再看一下我的test的配置文件
在这里插入图片描述
这里是我的服务器Nacos的命名空间
在这里插入图片描述

当我打包发布到测试环境之后,我发现程序读取的Nacos的配置中心,文件是aa-aa命名空间的配置文件。具体怎么发现,是因为, 我在xx-xx空间下加了几个自定义的配置信息,没有在aa-aa空间下加入自定义配置。在程序中通过@Value注解读取,因为读取到配置中心中没有配置对应的信息,所以导致jar包运行失败。
问题叙述完毕。

解决问题思路:
1、检查jar包中的配置文件是不是在bootstrap.yml 文件下指定错了

spring:
  profiles:
    active: test

可以通过vim xxx.jar包查看。我这边发现bootstrap.yml 没有指定错误。
2、继续检查jar包中bootstrap-test.yml 是不是命名空间 server-addr 和namespace 配置错误。

server-addr: xx.xx.xx.xx:8848 #Nacos服务注册中心地址
namespace: xx-xx

显然发现不是这个问题。

3、最后反复思考,根据请教老师提供的资料。突然想到是不是因为优先级问题导致的。
因为,我这边配置是没有问题的。
发现代码里没有任何的配置,紧接着继续思考,突然想到,在环境中启动jar包,是通过.sh文件启动的。
是不是因为启动文件配置中指定了,配置文件信息。从而覆盖掉了,我配置文件中的配置信息。结果发现,问题果然是这样,在.sh文件启动命令中

--spring.cloud.nacos.config.server-addr=xx.xx.xx.xx:8848 \
--spring.cloud.nacos.config.namespace=aa-aa \

发现有这两个命令。
自此疑惑真相大白。
来一个槽点:
关于配置文件的优先级覆盖流程作者还在整理实验。希望后续我能整理出来。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早起的小青年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值