• 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配置文件中添加如下配置,来指定环境:

    最终:

    亲测可用!

  • 相关阅读:
    php科研课题管理毕业设计-附源码170914
    Minikube使用文档
    自定义拖拽操作
    U2Net 网络结构详解
    好物周刊#9:AI 学习必备资料
    Java学习笔记 --- 枚举类
    数字电路和模拟电路-4基本逻辑门电路
    酷开科技丨酷开系统9.2:引领大屏智能化新纪元
    谈谈自购和客供物料的切换问题
    win10 --docker
  • 原文地址:https://blog.csdn.net/weixin_42585386/article/details/125524964