【问题标题】:Property change listener for ArchaiusArchaius 的属性更改侦听器
【发布时间】:2014-11-10 19:41:00
【问题描述】:

我正在使用Archaius 来使托管我的应用程序的所有服务器之间的系统属性保持一致。我可以看到所有属性获取器都可以在该属性更改时调用回调(例如参见third argument in getStringProperty()),但我想监听 any 属性更改。是否有一些接口我可以实现并在某处注册为侦听器?

【问题讨论】:

    标签: java apache-commons-config netflix-archaius


    【解决方案1】:

    我在任何 Archaius How-to 文档中都没有找到答案,但 Apache Commons Configuration 确实在他们的 Configuration Events 文档中提供了解决方案(与 Archaius 完全兼容)。

    我通过实现org.apache.commons.configuration.event.ConfigurationListener 创建了一个侦听器,它定义了一个名为configurationChanged() 的方法并采用一个ConfigurationEvent 参数。此方法在属性实际更改之前和之后调用一次,event 参数上的 beforeUpdate 布尔值指示每次调用的时间。

    创建侦听器后,我将其注册到我的 Archaius 配置管理器:

    ConfigurationManager.getConfigInstance().addConfigurationListener(new MyCustomConfigurationListener());
    

    现在我可以看到 MyCustomConfigurationListener.configurationChanged() 在每次属性更改时被调用两次(一次之前和之后)。

    【讨论】:

    • 这很有帮助!谢谢卡梅伦!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    相关资源
    最近更新 更多