《bootstrap.yml》
spring:
application:
name: pfme-kafka-transpond2yz
profiles:
active: dev
cloud:
nacos:
config:
namespace: pfme
group: ${spring.application.name}
file-extension: yml
discovery:
namespace: pfme
group: ${spring.profiles.active}
《bootstrap-dev.yml》
spring:
cloud:
nacos:
config:
# nacos服务器,可nginx负载
server-addr: *.*.*.*:8080
discovery:
# nacos服务器,可nginx负载
server-addr: *.*.*.*:8080
分析应用pfme-kafka-transpond2yz的启动日志,发现应用会查找DataId=pfme-kafka-transpond2yz、DataId=pfme-kafka-transpond2yz.yml、pfme-kafka-transpond2yz-dev.yml的nacos配置文件
[subscribe] pfme-kafka-transpond2yz+pfme-kafka-transpond2yz+pfme
[add-listener] ok, tenant=pfme, dataId=pfme-kafka-transpond2yz, group=pfme-kafka-transpond2yz, cnt=1
[subscribe] pfme-kafka-transpond2yz.yml+pfme-kafka-transpond2yz+pfme
[add-listener] ok, tenant=pfme, dataId=pfme-kafka-transpond2yz.yml, group=pfme-kafka-transpond2yz, cnt=1
[subscribe] pfme-kafka-transpond2yz-dev.yml+pfme-kafka-transpond2yz+pfme
[add-listener] ok, tenant=pfme, dataId=pfme-kafka-transpond2yz-dev.yml, group=pfme-kafka-transpond2yz, cnt=1
结论:pfme-kafka-transpond2yz 项目默认只会在指定的 group下查找 Data Id 为pfme-kafka-transpond2yz、pfme-kafka-transpond2yz.yml、pfme-kafka-transpond2yz-dev.yml的配置文件,即默认只会查找Data Id格式为{spring.application.name}-{spring.profile.active}.{file-extension} 的配置文件
扩展:应用自定义扩展的DataId配置
spring:
application:
name: pfme-kafka-transpond2yz
cloud:
nacos:
config:
namespace: pfme
group: ${spring.application.name}
file-extension: yml
# config external configuration
ext-config[0]:
data-id: ext-config-common01.yml
group: COMMON_GROUP
refresh: true
ext-config[1]:
data-id: ext-config-common02.yml
group: COMMON_GROUP
refresh: true
discovery:
namespace: pfme
group: ${spring.profiles.active}
关于配置文件的优先级
bootstrap.yml 配置的优先级高于application.yml; 默认配置{spring.application.name}-{spring.profile.active}.{file-extension}的优先级高于通用配置ext-config-common*.yml的优先级;