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 工具。