1

我有两个关于archaius的问题:

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

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

提前致谢

4

1 回答 1

0

当您使用 安装 DynamicConfiguration 后,您可以重新加载配置ConfigurationManager.install。在这种情况下,您可以使用 stop 和 start 重新加载。

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));
        }
    }
}
于 2019-11-19T00:26:31.923 回答