您可以使用archaius更改并手动重新加载属性吗?

时间:2017-06-29 14:08:46

标签: java netflix-archaius

我有两个关于archaius的问题:

1)我可以使用archaius更改本地属性文件中的一个属性的值吗? - 我想我必须在没有archaius的情况下手动完成。

2)当我在属性文件中手动更改了我的属性值时,我可以强制archaius立即重新加载属性吗? 我的代码正在编辑属性文件,然后为用户响应提供属性值,但是archaius不会立即使用DynamicPreperty刷新它的值。

提前致谢

1 个答案:

答案 0 :(得分:0)

使用ConfigurationManager.install安装DynamicConfiguration后,可以重新加载配置。在这种情况下,您可以使用停止和启动来重新加载。

public void refresh() {
    List<AbstractConfiguration> configurations = finalConfig.getConfigurations();
    for (AbstractConfiguration configuration : configurations) {
        if (configuration instanceof DynamicConfiguration) {
            DynamicConfiguration dynamicConfiguration = DynamicConfiguration.class.cast(configuration);
            PolledConfigurationSource source = dynamicConfiguration.getSource();
            dynamicConfiguration.stopLoading();
            dynamicConfiguration.startPolling(source, new FixedDelayPollingScheduler(0, TEN_MINUTES, true));
        }
    }
}