这是我的情景: 我的微服务从中央conf服务器收到有关其配置的一些更改的通知。它可以是部分更新,也可以是完整更新。 我在相关bean上使用@RefreshScope标记。问题是如何更新标记的bean,我的意思是重新加载它们。 只是为了澄清:从Spring Cloud我只使用RefreshScope。
有什么想法吗?
答案 0 :(得分:0)
org.springframework.boot:spring-boot-starter-actuator
。refresh
端点刷新配置。 例如,您可以像下面一样配置管理端点。 curl -X POST http://localhost:8001/manage/refresh
将触发刷新更改的配置。
management:
context-path: /manage
port: 8001
security.enabled: false
答案 1 :(得分:0)
如果您有不同的组件受更改影响,那么最好将您的配置保存在存储库中,然后您可以添加发布 - 订阅模型以刷新上下文,其中所有受影响的组件将订阅一个事件,即由于配置更改而由您的存储库发布。
对于刷新上下文,我们有两个选择:
在两个解决方案中,通过@RefreshScope标记感兴趣的豆。