Cam*_*ron 3 java apache-commons-config netflix-archaius
我正在使用Archaius来保持托管我的应用程序的所有服务器之间的系统属性.我可以看到所有属性getter都可以在该属性发生变化时调用回调(例如,参见第三个参数getStringProperty()),但我想监听任何属性更改.我可以实现一些接口并在某处注册为监听器吗?
我没有在任何Archaius How-to文档中找到答案,但Apache Commons Configuration确实在其Configuration Events文档中提供了一个解决方案(Archaius完全兼容).
我通过实现创建了一个监听器org.apache.commons.configuration.event.ConfigurationListener,它定义了一个被调用的方法configurationChanged()并且只接受一个ConfigurationEvent参数.在属性实际更改之前和之后调用此方法一次,参数beforeUpdate上的布尔值event表示每个调用的时间.
一旦我创建了监听器,我就用我的Archaius配置管理器注册了它:
ConfigurationManager.getConfigInstance().addConfigurationListener(new MyCustomConfigurationListener());
Run Code Online (Sandbox Code Playgroud)
现在我可以看到MyCustomConfigurationListener.configurationChanged()在每次属性更改时被调用两次(一次之前和之后一次).
| 归档时间: |
|
| 查看次数: |
1580 次 |
| 最近记录: |