微服务springcloud中Config Server项目额外(另外)加载自身项目中的其它目录下的数据库、Redis、Rabbitmq等独立配置文件

困扰我半天问题,终于在博主的文件中得到启发

https://blog.****.net/pml18710973036/article/details/60743450

场景:作为Config Server项目发布,通常都会在配置文件根目录下创建一个文件夹来存储各类Config Client所需要的配置文件,而此时Config Server又需要直接加载该文件夹下的某些数据源配置文件,比如application-rabbitmq.yml,如下图:

微服务springcloud中Config Server项目额外(另外)加载自身项目中的其它目录下的数据库、Redis、Rabbitmq等独立配置文件

由于之前创建profiles来存Config Client的配置文件,导致无法在bootstrap.yml通过profiles.active或profiles.include方式加载下一级目前profiles中的文件

《《《错误配置》》》
spring:
  application:
    name: config
  profiles:
    active: rabbitmq,profiles/application-rabbitmq.yml,classpath: profiles/application-rabbitmq.yml (无效配置)
    include: redis,profiles/application-redis.yml,lasspath: profiles/application-rabbitmq.yml (无效配置)

应该在classpath中创建/config文件夹来保存、管理Config Client的配置文件。

微服务springcloud中Config Server项目额外(另外)加载自身项目中的其它目录下的数据库、Redis、Rabbitmq等独立配置文件

这样就可以加载到文件夹下的其它配置文件

spring:
  application:
    name: config
  profiles:
    active: native,cloud,rabbitmq

解决办法,SpringApplication 默认可以配置config文件夹,并可默认从文件夹中加载 bootstrap.yml、application.yml、application.properties 等扩展文件名,加载路径包含:

1、classpath目录下的 /config 子目录文件夹配置文件

(注意:非常关键,特别是对本身就是Config Server项目来说需要加载额外指定数据源连接的配置文件,比如数据库配置文件、Redis、Rabbitmq等独立配置文件,基本都放在这里管理发布给Config Client使用)

2. classpath同级目录下的配置文件。

 

再次感谢博主的文章

https://blog.****.net/pml18710973036/article/details/60743450