Чтение значений из консула во время начальной загрузки - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть вопрос, есть ли способ получить определенные значения и вставить их в bootstrap.yml во время запуска приложения.

У меня есть файл конфигурации, подобный следующему:

spring:
  application:
    name: myApp

  cloud:
    consul:
      enabled: true
      host: localhost
      port: 8500
      config:
        enabled: true

  datasource:
    url: jdbc:oracle:thin:@localhost:1111:XXXX
    username: ${nameOfVariable1}
    password: ${nameOfVariable1}
    driver-class-name: oracle.jdbc.OracleDriver

Например, мне нужно настроить встроенный порт Tomcat или учетные данные БД, я не хочу помещать его жестко в свойствах .ymlфайл, вместо этого я хочу поместить имя переменной в .yml, чтобы Spring пошёл и принес значение из Consul.Возможно ли это?

1 Ответ

0 голосов
/ 11 февраля 2019

Вы можете использовать Spring Cloud Consul Config проект, который помогает загрузить конфигурацию в среду Spring во время специальной фазы "начальной загрузки".

3 шага:

  1. добавить зависимость pom: spring-cloud-starter-consul-config
  2. включить конфиг консула: spring.cloud.consul.config.enabled=true
  3. добавить конфиг консула kv в определенную папку, например, ключ: config/testConsulApp/server.port, значение: 8081

и затем запустите пример веб-приложения, оно прослушает 8081.

более подробно на демонстрационный код Консульства Spring Cloud .

и демонстрационный код здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...