我已经按照这个官方教程Getting Started Centralized Configuration使用spring boot 2.0.0.RELEASE和spring cloud Finchley.M8
但是动态刷新属性(不重启)不起作用。在一些调试之后,我注意到在ContextRefresher.class的方法refresh()中,它正确地返回了更改的键,但是在下次使用时重构了使用@RefreshScope注释的bean。它仍然看到旧的值而不是更新的值。
注意:这与spring boot v 1.5.6和spring cloud Edgware.RELEASE完美配合。
有什么帮助吗?
谢谢
在spring boot 2.0.1.RELEASE中看起来spring.cloud.config.uri总是在寻找端口8888并且不接受其他值,所以我把下面的配置(你可以忽略它,因为它是客户端的默认值,并且服务器应该在端口8888上运行)
spring:
cloud:
config:
uri: http://localhost:8888
我还尝试在客户端中公开所有其他服务以进行测试,如下所示
management:
endpoints:
web:
exposure:
include: '*'
或使用以下内容仅允许刷新
management:
endpoints:
web:
exposure:
include: refresh
然后调用POST方法而不是GET进行刷新
$ curl -X POST localhost:8080/actuator/refresh -d {} -H "Content-Type: application/json"
最后,它的工作原理。