конечная точка spring boot/env, показывающая неожиданные значения

Я использую весеннюю загрузку 1.5.2.RELEASE и использую консул для управления переменными среды/свойствами приложения. Я вижу следующее поведение и задаюсь вопросом, было ли это задумано и есть ли способ его изменить.

Я запускаю приложение, например, со следующими свойствами:

arbitrary.property: foo
datasource.url: some-valid-url

когда я попадаю в конечную точку /env, я вижу эти значения и могу убедиться, что они используются приложением. Затем я обновляю свойства в консуле следующим образом:

arbitrary.property: bar
datasource.url: another-valid-url

когда я запрашиваю конечную точку /env, я вижу, что оба свойства обновлены в ответе конечной точки /env. Я могу убедиться, что произвольное. свойство действительно является значением «foo», которое использует приложение. Однако приложение продолжает использовать исходное значение «some-valid-url» для подключения к базе данных, даже если конечная точка /env показывает «another-valid-url».

На самом деле у нас нет варианта использования для динамического обновления источника данных, но я бы хотел, чтобы конечная точка /env всегда отображала используемые значения. Есть ли способ убедиться, что конечная точка /env всегда отображает это (кроме отключения динамических обновлений свойства/контекста приложения)? это по дизайну?


person user1048378    schedule 19.01.2018    source источник


Ответы (1)


Это по дизайну. Конечная точка env предназначена для отображения актуального представления Environment приложения. Он не знает, как используются какие-либо из этих значений.

person Andy Wilkinson    schedule 19.01.2018