I want to try the spring cloud config
for microservice project where I have a common config
for all services and multiple configs
for each service.
I got idea on how to use multiple profiles
using spring.profiles.active
and include
. I am trying to understand how can I load multiple configs on config client?
In my git repo I have spring-config-repo
where I have ...
application.yml
orderclient.yml
subscriberclient.yml
jmsclient.yml
productclient.yml
I have my config Server
pointed to my config repo.
spring:
application:
name: config-service
cloud:
config:
server:
git:
uri: https://github.com/<user>/spring-config-repo
server:
port: 8888
I have my spring client
where I want to use multiple configs. Here in my case for orderService
I want to load application.yml,orderclient.yml,jmsconfig.yml
and For Product microService I need 'orderconfig.yml,jmsclient.yml,productclient.yml'
spring:
application:
name: orderclient
profiles:
active: test
cloud:
config:
uri: http://localhost:8888
###Any kind of config properties to load jmsclient, productclient?
Above I can access properties from orderclient.yml.
How to access properties of jmsclient.yml,productclient.yml
in orderclient
application.
Is there anyway to get list of all propertySources.name
exposed by config server? where in above case it should dispaly
"propertySources": {
"name": "https://github.com/<>/spring-config-repo/aplication.yml",
"profiles": <available profiles for this say> Dev, Test,
"name": "https://github.com/<>/spring-config-repo/orderclient.yml",
"profiles": <available profiles for this say> Dev, Test
"name": "https://github.com/<>/spring-config-repo/jmsclient.yml",
"profiles": <available profiles for this say> Dev, Test
....}
Please let me know if my question is not clear or need more information. Thanks.
To add different files you can use the spring. config. location properties which takes a comma separated list of property files or file location (directories). The one above will add a directory which will be consulted for application.
Spring Cloud Config provides server and client-side support for externalized configuration in a distributed system. With the Config Server you have a central place to manage external properties for applications across all environments.
You can set a comma-separated list of configurations you want to load using spring.cloud.config.name
property:
spring.cloud.config.name: jmsclient,productclient,orderclient
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With