当前位置:网站首页 > 数据科学与大数据 > 正文

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



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

动态刷新的原理:应用中配置了apollo后,在spring容器启动过程中,apollo将属性中含有@Value注解与${}的bean注册到apollo框架定义的注册表中。然后通过http长轮询不停地去获取apollo服务端的配置信息,一旦配置发生变化,apollo会根据配置的key找到注册的bean,然后修改bean的属性,从而实现了配置动态生效。

配置值动态刷新的情况有下面几种:1 通过@Value注解读取配置值;2 通过@ConfigurationProperties注解读取配置。

(一) @Value 可以添加在method(比如setxxx())、field(属性)、parameter。apollo中的配置修改后,应用中会动态刷新。

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方式二

到此这篇Apollo配置中心修改数据库配置生效(apollo配置中心动态更新)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 大数据算法有哪几种(大数据算法有哪几种方法)2025-10-20 20:54:04
  • 学术数据库(学术数据库网站)2025-10-20 20:54:04
  • tidb数据库与oracle比较(tidb和oracle比较)2025-10-20 20:54:04
  • 数据中台 技术中台(数据中台 技术中台的区别)2025-10-20 20:54:04
  • 3DTiles数据转shp(3dtiles转换工具)2025-10-20 20:54:04
  • max31865问题(max31865中文数据手册)2025-10-20 20:54:04
  • 组合型数组 非组合型数组(什么是组合数据类型)2025-10-20 20:54:04
  • 大数据算法(大数据算法定义)2025-10-20 20:54:04
  • 3dtile数据怎么生成3dmax(3dtiles数据下载)2025-10-20 20:54:04
  • mongodb数据库等保测评(mongodb 数据仓库)2025-10-20 20:54:04
  • 全屏图片