2016-07-05 8 views
1

Использование typesafe config, как переопределить ссылочную конфигурацию с помощью переменной окружения? Например, предположим, что у меня есть следующая конфигурация:Переопределение конфигурации с переменными окружения в config-config

foo: "bar" 

Я хочу, чтобы перекрываться с переменной окружения FOO, если таковой существует.

+0

Вы можете попробовать другие подходы, такие как: http://stackoverflow.com/questions/24966621/overriding-multiple-config-values-in-typesafe-config-when-using-an-uberjar-to-de/24967100# 24967100. Я бы предложил переопределить их с помощью '-D' JVM args - вам не нужно заранее знать/внедрять что-либо. –

+0

Спасибо, но моя проблема с этими предложениями в том, что мне нужно либо преобразовать заданные переменные среды в другой файл (и преобразовать ключи «на лету»), чтобы использовать ответ, на который ссылается, или конкретно указать каждый параметр как системное свойство - это то, что я делаю в данный момент, - но это трудно справиться и вызывает много двойного maintanance. –

+0

. Вы должны упомянуть только параметры, которые вы переопределяете либо в файле конфигурации, либо в качестве аргументов CMD. Нет необходимости перечислять все значения. –

ответ

2

Если вы правильно поняли ваш вопрос, ответ here. Вы можете сделать

foo: "bar" 
foo: ${?FOO} 
+1

Я догадался, что пропустил эту часть, однако файл конфигурации очень громоздкий - мне нужно дублировать все поля, которые я хочу переопределить, и мне нужно знать, что я бы хотел переопределить определенную переменную. –

0

Если вы должны использовать переменные окружения, и если их именование в соответствии с именами конфигурации вы можете использовать Баш скрипт так, чтобы автоматически конвертировать из среды варов в JVM CMD арга. Эти аргументы -D JVM переопределяют значения Configafe Config. Пример:

# export my_PROP1=1 
# export my_PROP2=2 
# 
# props=$(env | grep my_ | awk '{print "-D"$_}' ORS=' ') 
# 
# echo "JVM executable command is: java $props some.jar" 
JVM executable command is: java -Dmy_PROP2=2 -Dmy_PROP1=1 some.jar 

Преобразовать верхнего к нижнему регистру, не подстроки операции на окр вары, как вы, пожалуйста, если они непосредственно не отображаются на ваших значений конфигурации.

 Смежные вопросы

  • Нет связанных вопросов^_^