Установите профиль на bootstrap.yml в spring cloud для назначения другого сервера конфигурации
Я использую docker compose для запуска всех моих микро-сервисов. Для каждой службы я даю ей короткое имя хоста.
version: '2'
services:
config:
image: springbox-config-server
restart: always
ports:
- "8890:8890"
discovery:
image: springbox-eureka
restart: always
ports:
- "8763:8763"
поэтому в моем микро-сервисе я должен нацелить configserver с его коротким именем хоста.
spring:
application:
name: myservice
cloud:
config:
uri: http://config:8890
fail-fast: true
однако, когда я запускаю их локально в своей IDE без docker, короткое имя хоста не может быть разрешено.
поэтому я ищу решение для целевого другого сервера конфигурации в соответствии с моей средой.
1 ответов
Я нашел решение. В принципе, мы используем spring profile для обогащения файла начальной загрузки. Например
spring:
application:
name: myservice
cloud:
config:
uri: http://config:8890
fail-fast: true
---
spring:
profiles: development
cloud:
config:
uri: http://localhost:8890
хорошей новостью является то, что нам не нужно переписывать все свойства в профиле. Свойства по умолчанию наследуются. Например, когда профиль разработки включен, мое имя приложения наследуется от имени по умолчанию, называемого always myservice.
чтобы активировать профиль, запустите службу со следующим свойством
-Dspring.profiles.active=development