• Springboot服务引用Nacos中新增的配置文件失败


    问题现象:

            今天在项目中遇到一个问题:

            Nacos中新增一个 sgccamapappserver-dev.yml 配置文件,然后让 Springboot 服务引用这个新的配置文件,但是失败了!!!启动服务后发现读取的还是原来的 sgccamapappserver.yml 配置文件!!!


    问题分析:

            这个问题其实是涉及到了nacos加载配置文件的顺序逻辑:

    首先看一下服务的bootstrap.peoperties配置

    修改前,加载的nacos配置文件是 sgccamapappserver.yml

     修改后,加载的nacos配置文件是 sgccamapappserver-dev.yml

    那么为什么会加载失败呢?

    其实问题就出现在微服务名称这里,可以看出是 sgccamapappserver

    导致 sgccamapappserver-dev.yml 加载失败的原因就是因为:

            springboot项目默认会优先查询nacos中与微服务名称相同的配置;所以当nacos中存在 sgccamapappserver.yml 配置文件,则会直接加载这个配置,直接略过了下面这个配置:

             还有一个因素,就是当配置中未指定环境,会导致它默认加载与 spring.application.name 属性值同名的nacos配置文件


    解决方法:

            从问题分析可以得知要解决这个问题,其实很简单,那就是 指定环境。如:

    我现在要加载的nacos配置是 sgccamapappserver-dev.yml 

    那就可以在 bootstrap.peoperties配置文件中添加如下配置,来指定环境:

    最终:

    亲测可用!

  • 相关阅读:
    Typescript学习
    linux 文件系统命令
    暴雪和网易分手百万玩家何去何从
    华为HCIA第二章-华为VRP系统平台
    springMVC的学习【中】
    JAVA开发(java后端架构常见必备功能)
    SQL注入学习
    __set_current_state
    SCADE简单了解
    数据结构初阶--二叉树(前中后序遍历递归+非递归实现+相关求算结点实现)
  • 原文地址:https://blog.csdn.net/weixin_42585386/article/details/125524964