如何从不同的 Consul 上下文中获取多个 Consul KV?
How to get multiple Consul KVs from different Consul context?
我在 Consul 上存储了这些 KV 源:
config/books/<key>
config/common/<key>
并且在我的 spring 启动应用程序 application.yml 中,我将其配置如下:
spring:
application:
name: sampleapp
cloud:
consul:
host: localhost
port: 8500
config:
enabled: true
prefix: config
defaultContext: books
我知道我所做的这个配置已指示应用程序从 config/books 读取。
但我不知道如何从 config/common 和 [= 中检索 Consul KV 配置23=]config/books.
那里不是很灵活,但是如果您重命名项目并同时使用 defaultContext 就可以做到。基于 documentation Spring Cloud Consul Config 采用以下路径:
config/testApp,dev/
config/testApp/
config/application,dev/
config/application/
其中 testApp - 您的应用名称,application - 默认上下文
所以使用下面的配置它会起作用
spring:
application:
name: books
cloud:
consul:
host: localhost
port: 8500
config:
enabled: true
prefix: config
defaultContext: common
在 运行 此配置后记录:
Located property source: CompositePropertySource {name='consul', propertySources=[ConsulPropertySource {name='config/books/'}, ConsulPropertySource {name='config/common/'}]}
我在 Consul 上存储了这些 KV 源:
config/books/<key>
config/common/<key>
并且在我的 spring 启动应用程序 application.yml 中,我将其配置如下:
spring:
application:
name: sampleapp
cloud:
consul:
host: localhost
port: 8500
config:
enabled: true
prefix: config
defaultContext: books
我知道我所做的这个配置已指示应用程序从 config/books 读取。
但我不知道如何从 config/common 和 [= 中检索 Consul KV 配置23=]config/books.
那里不是很灵活,但是如果您重命名项目并同时使用 defaultContext 就可以做到。基于 documentation Spring Cloud Consul Config 采用以下路径:
config/testApp,dev/
config/testApp/
config/application,dev/
config/application/
其中 testApp - 您的应用名称,application - 默认上下文
所以使用下面的配置它会起作用
spring:
application:
name: books
cloud:
consul:
host: localhost
port: 8500
config:
enabled: true
prefix: config
defaultContext: common
在 运行 此配置后记录:
Located property source: CompositePropertySource {name='consul', propertySources=[ConsulPropertySource {name='config/books/'}, ConsulPropertySource {name='config/common/'}]}