Мое приложение имеет массив переменных окружения в виде tableName[0]=tableName ... property.one.two.tableName[x]=tableNameX
Spring загрузки массива Переменные окружения на Docker/Marathon
При работе на местном уровне, все отлично работает, когда я ставлю свойства в application.properties
, арг командной строки и переменные окружения. Однако, как только я попытаюсь развернуть марафон, переменные массива больше не работают. Я пытаюсь передать их в свойстве env
в массиве marathon json. Я пробовал:
"env": {
"property.one.two.tableName[0]":"tableName",
....
}
и
"env": {
"property.one.two.tableName": ["tableName", ... ]
...
}
и
"env" {
"tableName": [
{"property.one.two.tableName[0]" : "tableName"}
{....}
]
}
Но ничего не получалось. Кто-нибудь получил это, чтобы работать?
Без более подробной информации относительно вашего приложения это невозможно помочь, я боюсь. Первая версия, которую вы там, должна * работать так неуверенно, что здесь проблема. Вы можете попробовать с помощью 'simpleservice' в https://gist.github.com/mhausenblas/7aba37703f9669576b00e973ae6a50c8 и посмотреть, можете ли вы передавать переменные env там, и если это так, то, вероятно, проблема с тем, как была выполнена констеризация Spring. –
На самом деле, я думаю, это ошибка Spring. Мой пример был немного неточным в том, что у меня был только один «уровень» свойств. Реальные свойства: 'property.one.two.three [x]', и непринужденное связывание весны не работает. Установка переменной окружения на точное написание ожидаемой переменной разрешила проблему. – aarbor
Ницца. Предложите вам ответить на вопрос тогда, чтобы сделать его официальным;) –