spring-boot-dynamic-config icon indicating copy to clipboard operation
spring-boot-dynamic-config copied to clipboard

支持@Configuration下的bean实时Refresh吗?

Open luaifei opened this issue 4 years ago • 5 comments

如题

luaifei avatar Nov 24 '21 13:11 luaifei

对于Spring来说, @Configuration 注解并没有起实际的作用的,起作用的是 @ConfigurationProperties @Value 这两个注解。

这个库是支持在 @ConfigurationProperties 或 @Value 的 类/方法 上加@DynamicConfig 实现实时刷新。

Code2Life avatar Nov 29 '21 08:11 Code2Life

好的,从2.4版本开始,SpringBoot出了一个spring.cofig.import配置方式,比spring.cofig.location更友好和强大,这边可以增加支持吗?

luaifei avatar Nov 29 '21 09:11 luaifei

很棒的提议,我研究一下

Code2Life avatar Nov 30 '21 06:11 Code2Life

谢谢,还有一个建议,目前@DynamicConfig注解可以添加到@Component@ConfigurationProperties。但还有一种场景是ConfigurationProperties是由其它Starter提供的,例如spring.datasource等相关配置,如何增加对这类Bean的热刷新呢?我想到是否可以增加一种方式,自定义返回所有需要热刷新的Bean的Class?目前想到的一个方法是暴露一个注册器的Bean,然后调用这个Bean增加用户感兴趣的Bean,这样需要刷新的bean就可以来自于三个来源。

luaifei avatar Nov 30 '21 10:11 luaifei

这个情况考虑过,但不太好处理,因为即使动态改了Bean的属性,一些资源可能已经建立过了,无法实现预期效果。所以Spring Cloud的行为其实是整个Bean都完全重建了。

Code2Life avatar Nov 30 '21 14:11 Code2Life

@luaifei 最新的1.0.9版本已经支持了 spring.config.import

https://github.com/Code2Life/spring-boot-dynamic-config#import-config-tree

Code2Life avatar Aug 31 '22 08:08 Code2Life