17. 外部 Configuration:Archaius
Archaius是 Netflix client-side configuration library。它是所有 Netflix OSS 组件用于 configuration 的 library。 Archaius 是Apache Commons _Configuration项目的扩展。它允许通过轮询源更改或通过让源推送更改为 client 来更新 configuration。 Archaius 使用 Dynamic <Type> Property classes 作为 properties 的句柄,如下面的示例所示:
Archaius Example.
class ArchaiusTest {
DynamicStringProperty myprop = DynamicPropertyFactory
.getInstance()
.getStringProperty("my.prop");
void doSomething() {
OtherClass.someMethod(myprop.get());
}
}
Archaius 有自己的 configuration files 和 loading 优先级。 Spring applications 通常不应该直接使用 Archaius,但仍需要自行配置 Netflix 工具。 Spring Cloud 有一个 Spring Environment Bridge,以便 Archaius 可以从 Spring 环境中读取 properties。这个 bridge 允许 Spring Boot 项目使用普通的 configuration 工具链,同时让他们按照文档(大部分)配置 Netflix 工具。