Apollo配置中心修改数据库配置生效(apollo配置中心动态更新)

Apollo配置中心修改数据库配置生效(apollo配置中心动态更新)apollo 作为应用配置管理中心框架 可以将应用中的配置信息集中管理 且在 apollo 中修改配置值之后应用中可以动态更新 动态刷新的原理 应用中配置了 apollo 后 在 spring 容器启动过程中 apollo 将属性中含有 Value 注解与 的 bean 注册到 apollo 框架定义的注册表中 然后通过 http 长轮询不停地去获取 apollo 服务端的配置信息 一旦配置发生变化

大家好,我是讯享网,很高兴认识大家。



apollo作为应用配置管理中心框架,可以将应用中的配置信息集中管理,且在apollo中修改配置值之后应用中可以动态更新。

动态刷新的原理:应用中配置了apollo后,在spring容器启动过程中,apollo将属性中含有@Value注解与\({}的bean注册到apollo框架定义的注册表中。然后通过http长轮询不停地去获取apollo服务端的配置信息,一旦配置发生变化,apollo会根据配置的key找到注册的bean,然后修改bean的属性,从而实现了配置动态生效。</p> <p>配置值动态刷新的情况有下面几种:1 通过@Value注解读取配置值;2 通过@ConfigurationProperties注解读取配置。</p> <p>(一) @Value 可以添加在method(比如setxxx())、field(属性)、parameter。<span style="color: rgba(255, 0, 0, 1)">apollo中的配置修改后,应用中会动态刷新。</span></p> <p>1)读取简单类型:java基本类型、string等。@Value("\){xxx:defaultvalue}“)

2)读取list、map、set等,或将一定格式的string转为collection:

apollo配置如下


讯享网

(二)@ConfigurationProperties 读取配置生成bean。

apollo中的配置修改后,应用中不会动态刷新,需要手动编写程序实现动态刷新。因为spring启动时,已读取配置值且生成了对象。之后再修改配置值后,对象中的属性值并不会改变。

(三)数据库连接配置更改后,对已创建连接不会刷新,只对新生成连接对象生效。

(四)针对bean属性值无法动态刷新的问题,有以下几种方法可以实现动态刷新。

1)基于RefreshScope结合@ApolloConfigChangeListener实现

2)基于EnvironmentChangeEvent结合@ApolloConfigChangeListener实现

3)示例代码如下

properties配置

listener方式一

listener方式二

&nbsp;

小讯
上一篇 2025-05-09 09:30
下一篇 2025-04-16 18:36

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/164964.html