spring - 刷新 Spring Boot 自动配置的属性

标签 spring spring-boot spring-cloud-config spring-config

我可以动态刷新 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/

相关文章:

java - 找不到 PropertySource : PKIX path building failed for spring cloud config URL

java - springboot读取tomcat-context.xml

java - Spring + Hibernate SQL 实体名称未解析

java - Spring 4,节点间共享缓存

json - 如何将flutter中的日期解析为与Java ZonedDateTime兼容的json字符串

spring-cloud - 如何从 Spring Cloud Config Server 读取多个配置文件

java - 重启后 Config Server 的多个请求

java - 使用 TestExecutionListener 时 Spring 测试注入(inject)不起作用

java - 日志中西里尔文日志的显示不正确

java - Spring Boot 中的 SLF4J 冲突