mitaichik
@mitaichik

Как перечитывать настройки после изменения properties файла?

Добрый день.
Юзаем Spring Boot

Есть класс @ConfigurationProperties - с настройками из properties файла.
Можно как-то сделать так, что при изменении этого properties файла, настройки в этом классе обновлялись автоматически, без перезагрузки приложения?

Знаю что есть Spring Cloud Config, но хотелось бы что-то попроще, просто изменил файл, настройки обновились.
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 2
mitaichik
@Vope

пример из
collection of small and focused Spring tutorials

https://github.com/eugenp/tutorials/tree/master/sp...

отлично работает

с минимальными изменениями если нет желания или возможности переходить с spring 4.x на 5.x

берем код привинчиваем в свой проект
собираем
сажаем в докер или запускаем локально указывая путь к application.properties
docker run -v ${HOME}/Desktop/:/var/properties -p 8086:8080 basic-example

читаем что там
curl http://localhost:8085/basic
Hello some value

меняем
sed -i 's|some value|some other value|' ~/Desktop/application.properties

видим как спринг перезапустился

o.a.c.c.PropertiesConfiguration:
Reloading configuration. URL is file:/var/properties/application.properties

читаем опять - изменилось
curl http://localhost:8085/basic
Hello some other value
Ответ написан
Комментировать
Vope
@Vope
Java Software Engineer
Есть Spring Boot DevTools, но не уверен что с конфигом это сработает, скорее нет, чем да :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы