我可以动态刷新 Spring Boot 的自动配置设置使用的属性吗?
例如,我设置了以下属性(通过云配置)来自动配置 dataSource
:
spring.datasource.username=user1
spring.datasource.password=test
现在,如果我更改配置服务器上的密码 Prop ,然后点击
/refresh
端点,我可以看到更新的 Prop 被检索,但 DataSource
不刷新。我知道我可以手动配置
DataSource
bean 类并确保它们属于 RefreshScope
,但我希望找到一种方法将自动配置的属性标记为“可刷新”。我有一些用例,除了 DataSources
之外,我还想为其他 bean 刷新 Spring Boot 使用的 Prop 。 ,手动设置其中一些 bean 可能会很痛苦。
最佳答案
我想我说得太早了,至少就我的 DataSource
而言例子去。正在使用更新的 Prop 创建新的数据库连接。
这在查看文档时很有意义 here
这并没有重新连接我的一些 spring.cloud.stream.bindings
我拥有的属性,但在这种情况下,我可能可以使用 @RefreshScope
解决问题.
关于spring - 刷新 Spring Boot 自动配置的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50688245/