Необязательное переопределение нескольких значений с помощью переменной среды в библиотеке конфигурации typesafe

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

Что-то вроде этого

multi = [
  "string"
  "list"
]
multi=${?MULTI_ENV}

Но таким образом (если переменная среды MULTI_ENV установлена, например, в "value1,value2" или "value1 value2"), конечно, ConfigFactory.load().resolve().getStringList("multi") выдает исключение, потому что multi теперь является простым String.

Я тоже пробовал multi=[${?MULTI_ENV}], но это тоже не помогает, потому что в случае, если переменная MULTI_ENV не установлена, multi будет пустым.

Это кажется невозможным без дополнительного кода, который проверял бы переменную окружения, анализируя ее на List<String> вручную и переопределяя значение вручную config.withValue("multi",myParsedStringList), или это так?


person Seakayone    schedule 29.08.2016    source источник


Ответы (1)


Похоже, что на сегодняшний день для этого есть встроенная функция.

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

Системные свойства уже поддерживают нечто подобное с числовыми ключами для списков:

-Dfoo1=bar -Dfoo2=BAZ
person Seakayone    schedule 05.09.2016