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