отключить настройку консула в локальной сети - PullRequest
0 голосов
/ 09 июля 2019

Я создал простое приложение для микронавтов на своем локальном компьютере с функцией cons-config.Мой код может подключаться и получать свойства из хранилища ключей / значений консула.У меня нижеуказанная конфигурация в моем bootstrap.yml

micronaut:
  application:
    name: user-service
config-client:
  enabled: true
consul:
  client:
    registration:
      enabled: true
    defaultZone: "${CONSUL_HOST:localhost}:${CONSUL_PORT:8500}"

Все хорошо, но я не хочу использовать консул на моем локальном компьютере, потому что это связано с сетевой активностью, поэтому запуск занимает некоторое время.Я хочу избегать консулов ​​в местном масштабе, но он мне нужен в средах разработки, тестирования и разработки.

У меня есть код ниже в моем приложении.Аннотация @Value попытается загрузить 'db-schema' и, если она не найдена, тогда использует 'local' в качестве значения по умолчанию.Поэтому, если консул отключен, тогда мое приложение должно использовать «local», иначе оно должно загружать значения, основанные на конфигурации консула.

@Value("${db-schema:local}")
private String dbSchema;

Как я могу сделать это без изменений кода и только с параметрами среды?

Я попытался установить параметр VM '-Dmicronaut.config-client.enabled = false', но все равно он загружает bootstrap.yml и пытается подключиться к консулу.

1 Ответ

0 голосов
/ 09 июля 2019

Есть несколько способов сделать это. Одним из них является создание файла типа src/main/resources/application-local.yml, который содержит следующее:

consul:
  client:
    registration:
      enabled: false

И в вашем местном окружении export MICRONAUT_ENVIRONMENTS=local.

...