Spring Cloud Archaius 多配置源收集 原理简

2020-05-08  本文已影响0人  平凡人笔记

概述

功能

添加依赖

用法

所以我们将它添加到我们的资源文件夹中,其中包含一些任意属性:

springcloud.archaius.properties.one=one FROM:config.properties
springcloud.archaius.properties.three=three FROM:config.properties

1⃣️ 可以通过 archaius.configurationSource.defaultFileName 指定读取的配置文件 在启动应用程序时将其作为参数传递给vm

2⃣️写在代码本身中

3⃣️ 多个配置文件 指定加载顺序

使用键“@ next = nextFile.properties”指定一个特殊属性来告诉Archaius哪个是应该加载的下一个文件。

修改属性 无需重新启动服务 在一分钟左右之后,对端点的调用应检索出新值

工作原理

Netflix Archaius库

Spring Cloud Archaius库

主要任务是将所有不同的配置源合并为 ConcurrentCompositeConfiguration,并使用ConfigurationManager进行安装 。

库定义源的优先顺序是:

Archaius支持的配置属性

Archaius考虑类似于config.properties的其他配置文件 ,我们可以定义 archaius.configurationSource.additionalUrls系统属性。

该值被解析为由逗号分隔的URL列表,因此,例如,我们可以在启动应用程序时添加此系统属性:

-Darchaius.configurationSource.additionalUrls="classpath:other-dir/extra.properties,file:///home/user/other-extra.properties"

Archaius将首先读取config.properties文件,然后按指定的顺序读取其他文件。因此,后面文件中定义的属性将优先于先前的属性。

我们可以使用几个其他系统属性来配置Archaius默认配置的各个方面:

使用spring 添加其他的数据源

使用Archaius已经提供的JDBCConfigurationSource,然后我们注册使用新的配置 ConfigurationManager。

执行此操作后,我们可以从数据库中获取任何属性,就像我们对属性文件所做的那样(即使用 DynamicPropertyFactory)。

1⃣️ 测试

2⃣️ 通过JMX将配置注册为MBean

源码地址:

https://gitee.com/pingfanrenbiji/java-samples.git https://gitee.com/pingfanrenbiji/spring-cloud-examples/tree/master/spring-cloud-archaius/simple_config

参考文章

https://www.jianshu.com/p/1e340e931730 https://www.jianshu.com/p/f9d7500920a9

上一篇 下一篇

猜你喜欢

热点阅读