Как динамически загрузить значение SPRING_PROFILES_ACTIVE в клиентской службе? - PullRequest
0 голосов
/ 06 марта 2020

Я новичок в Spring и создаю сервис облачной конфигурации Spring. Я успешно создал сервис конфигурации, где все конфигурации есть. В моем клиентском сервисе (он выберет все необходимые конфигурации из сервиса конфигурации) мне нужно выбрать конфигурации в зависимости от значения SPRING_PROFILES_ACTIVE, которое определено в файле манифеста. В клиентской службе есть несколько файлов манифеста, и каждый имеет свое значение SPRING_PROFILES_ACTIVE. В настоящее время я использую @ConfigurationProperties(prefix="profile_name"), то есть вручную определяя "имя_профиля". Но я хочу сделать это динамически, т.е. в зависимости от значения SPRING_PROFILES_ACTIVE значение должно быть получено из службы конфигурации. Может ли кто-нибудь предложить мне, как загрузить значение динамически.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 06 марта 2020

Передача SPRING_PROFILES_ACTIVE в качестве переменной среды в приложение Spring Boot вместо объявления его в yaml и жесткого кодирования в файле конфигурации. Приложение выбирает соответствующий yaml на основе профиля.

Как передать профиль пружины в качестве параметра в приложение загрузки пружины

0 голосов
/ 06 марта 2020

в зависимости от значения SPRING_PROFILES_ACTIVE значение должно быть получено из службы конфигурации.

Если я правильно понимаю, вы пытаетесь получить конфигурацию с сервера конфигурации на основе активных профилей в клиентском приложении. Spring Cloud Config Client делает это автоматически, , как описано в документации . Например, если клиентское приложение имеет spring.profiles.active=profile1,profile2, то при начальной загрузке клиент конфигурации будет отправлять запросы на сервер конфигурации с URL-адресами, такими как

https://my-config-server.example.com/sample-app/profile1/master
https://my-config-server.example.com/sample-app/profile2/master

, и загружать ответ от каждого запроса в источник свойств в клиентское приложение.

...