将本地bootstrap.yml中的数据源信息抽取出一个单独的配置文件放在远程,结果读取不到该配置。
spring:
application:
name: test
cloud:
nacos:
config:
enabled: true
server-addr: localhost:8848
file-extension: yml
group: NEW_GROUP
namespace: ba42e722-81aa-48f1-9944-9dca57d5f396
username: nacos
password: 123456
shared-configs[0]: test.yml
shared-configs[1]:datasource.yml
就是在以前的基础上又加了一行,shared-configs[1]: datasource.yml,其他没变,且不管加不加这一行的配置,test.yml中的内容都是可以被读取到的。而且奇怪的是,在另一个项目中是使用同样的配置方法,是可以使用的。
另一个项目中生效,是因为那个项目的配置默认在DEFAUT_GROUP下,而没生效的这个配置是建在新的group下的。
spring:
application:
name: test
cloud:
nacos:
config:
enabled: true
server-addr: localhost:8848
file-extension: yml
group: NEW_GROUP
namespace: ba42e722-81aa-48f1-9944-9dca57d5f396
username: nacos
password: 123456
shared-configs[0]:
data-id: test.yml
group: NEW_GROUP
refresh: false
shared-configs[1]:
data-id: datasource.yml
group: NEW_GROUP
refresh: true
或者也可以使用extension-configs配置:
spring:
application:
name: test
cloud:
nacos:
config:
enabled: true
server-addr: localhost:8848
file-extension: yml
group: NEW_GROUP
namespace: ba42e722-81aa-48f1-9944-9dca57d5f396
username: nacos
password: 123456
extension-configs:
- data-id: test.yml
group: NEW_GROUP
- data-id: datasource.yml
group: NEW_GROUP
refresh: true
1. 不指定group时,默认为DEFAUT_GROUP。
2.
目前提供了三种配置能力从 Nacos 拉取相关的配置:
A. shared-configs[n]支持多个共享配置;
B. extension-configs[n]的方式支持多个扩展配置;
C. 通过内部相关规则(应用名、应用名+ Profile )自动生成相关的Data Id配置。
当三种方式共同使用时,他们的一个优先级关系是: A < B < C,且shared-configs的优先级,[0] <[1]。