Подстановка массива HOCON из envs - PullRequest
0 голосов
/ 07 марта 2019

Я использую формат конфигурации HOCON, и библиотека для синтаксического анализа взята из typesafe.Config.HOCON поддерживает env vars инъекции и переопределения.например:

my.config = "asd"
my.config = ${?MY_ENV_VAR} 

это заменит значение по умолчанию "asd", если будет представлен env var с именем MY_ENV_VAR.Однако я не могу найти какой-либо хороший способ сделать замену списка env.например:

my.config = [1,2,3,4]
my.config = ${?MY_ENV_LIST}

, поскольку по умолчанию env vars извне будет по умолчанию строкой, поэтому [1,2,3,4] будет рассматриваться как "[1,2,3,4]" с точки зрения библиотеки, поэтомуон не может быть отображен в виде списка и приведет к ошибке времени выполнения, например:

com.typesafe.config.ConfigException $ WrongType: application.conf: 5: application.boolliststring имеет тип STRING, а неLIST

в com.typesafe.config.impl.SimpleConfig.findKey (SimpleConfig.java:133) в com.typesafe.config.impl.SimpleConfig.find (SimpleConfig.java:145) в com.typesafe.config.impl.SimpleConfig.find (SimpleConfig.java:151) по адресу com.typesafe.config.impl.SimpleConfig.find (SimpleConfig.java:159) по адресу com.typesafe.config.impl.SimpleConfig.find (SimpleConfig.java:164) at com.typesafe.config.impl.SimpleConfig.getList (SimpleConfig.java:212)

Кто-нибудь имеет какие-либо идеи о том, как правильно сделать замену списка env в формате HOCON?заранее спасибо.

...