Spring Cloud - Настройка параметров кэширования клиента - PullRequest
0 голосов
/ 10 сентября 2018

Когда я изменяю значение из своего хранилища свойств и перезапускаю Spring Cloud Config Server, изменения не отражаются на его потребителях.

мой-microservice / application.properties:

spring.application.name=my-service
spring.cloud.config.uri=http://localhost:8888

MyServiceController.java

@RestController
public class MyServiceController {

    @Autowired
    private Configuration configuration;

    @GetMapping("/my-service")
    public MyServiceBean retrieveMyServiceProperties() {
        // show propertie's values
        return new MyServiceBean(configuration.getPropertie1(), configuration.getPropertie2());
    }

}

весна-облако-конфиг-сервер / application.properties

server.port=8888
spring.application.name=spring-cloud-config-server

spring.cloud.config.server.git.uri=file://path

Git РЕПО

my-service.properties

my-service.propertie1=1
my-service.propertie2=2

Когда я отправляю запрос GET на localhost: 8080 / my-service , вот результат, который я получил:

{  
   "propertie1":1,
   "propertie2":2
}

Хорошо, все в порядке! Но если я изменю my-service.properties и перезапущу свой Spring Cloud Config Server, изменения не отражают MyServiceController. Мне нужно перезапустить приложение my-microservice , чтобы изменения вступили в силу. Это нормальное поведение? Я имею в виду, если это удаленно, то оно должно быть настроено, кешировать или нет.

1 Ответ

0 голосов
/ 10 сентября 2018

Чтобы обновить конфигурации, я отправил запрос POST на localhost:8080/actuator/refresh.

По умолчанию /refresh не отображается в конечных точках привода.

Я выставил следующую строку в application.properties:

management.endpoints.web.exposure.include=*

Затем отправил запрос POST с телом без в конечную точку выше.

...