Ниже приведены application.properties для приложения Spring-Boot.
spring.application.name=test-service
server.port=8080
management.port=8081
management.context-path=/admin
spring.cloud.config.uri=http://localhost:8888
endpoints.refresh.enabled=true
endpoints.restart.enabled=true
Когда я запускаю приложение, оно связывается с конфигурационным сервером и загружает свойства, как и ожидалось.
Я изменяю свойства на сервере конфигурации и запускаю обновление приложения, используя
curl -X POST http://localhost:8081/admin/refresh
API печатает имя свойства, которое было изменено.
Когда я получаю доступ к свойству, я все еще вижу старое значение
curl -X GET http://localhost:8081/admin/env/{property_name}
Я запускаю перезагрузку, и он подбирает новое значение свойства
curl -X POST http://localhost:8081/admin/restart
См. то же поведение, когда я пытаюсь изменить значение свойства, используя
curl -X POST http://localhost:8081/admin/env -d property1=123
Когда я пытаюсь получить значение свойства, я все еще вижу старое значение
curl -X GET http://localhost:8081/admin/env/property1
Когда я меняю management.port на 8080 (то же, что и server.port), все работает как положено.
Ожидается ли такое поведение? Мне кажется, что он изменяет 2 разные среды: одну для сервера, работающего на 8080, а другую — на 8081.