2016-11-22 3 views
2

Мое приложение имеет массив переменных окружения в виде tableName[0]=tableName ... property.one.two.tableName[x]=tableNameXSpring загрузки массива Переменные окружения на 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"} 
{....} 
] 
} 

Но ничего не получалось. Кто-нибудь получил это, чтобы работать?

+0

Без более подробной информации относительно вашего приложения это невозможно помочь, я боюсь. Первая версия, которую вы там, должна * работать так неуверенно, что здесь проблема. Вы можете попробовать с помощью 'simpleservice' в https://gist.github.com/mhausenblas/7aba37703f9669576b00e973ae6a50c8 и посмотреть, можете ли вы передавать переменные env там, и если это так, то, вероятно, проблема с тем, как была выполнена констеризация Spring. –

+0

На самом деле, я думаю, это ошибка Spring. Мой пример был немного неточным в том, что у меня был только один «уровень» свойств. Реальные свойства: 'property.one.two.three [x]', и непринужденное связывание весны не работает. Установка переменной окружения на точное написание ожидаемой переменной разрешила проблему. – aarbor

+0

Ницца. Предложите вам ответить на вопрос тогда, чтобы сделать его официальным;) –

ответ

2

Кажется, ошибка с весной. Ослабленная привязанность Весны не работала. Установка переменной окружения на точное написание ожидаемой переменной разрешила проблему.

В моем существующем коде, расслабился связывание работал property.one.two но перестал работать для property.one.two.three