Java Archaius的属性更改侦听器
我正在使用以使托管我的应用程序的所有服务器之间的系统属性保持一致。我可以看到所有属性getter都可以在属性更改时调用回调(例如,请参见),但我希望侦听任何属性更改。是否有一些接口我可以在某处实现并注册为侦听器?我在任何Archaius How to文档中都没有找到答案,但Apache Commons配置在他们的文档中提供了一个解决方案(Archaius与之完全兼容) 我通过实现Java Archaius的属性更改侦听器,java,apache-commons-config,netflix-archaius,Java,Apache Commons Config,Netflix Archaius,我正在使用以使托管我的应用程序的所有服务器之间的系统属性保持一致。我可以看到所有属性getter都可以在属性更改时调用回调(例如,请参见),但我希望侦听任何属性更改。是否有一些接口我可以在某处实现并注册为侦听器?我在任何Archaius How to文档中都没有找到答案,但Apache Commons配置在他们的文档中提供了一个解决方案(Archaius与之完全兼容) 我通过实现org.apache.commons.configuration.event.ConfigurationListene
org.apache.commons.configuration.event.ConfigurationListener
创建了一个侦听器,它定义了一个名为configurationChanged()
的方法,并接受一个ConfigurationEvent
参数。此方法在属性实际更改之前和之后调用一次,在事件
参数上使用beforeUpdate
布尔值指示每次调用的时间
创建侦听器后,我向Archaius configuration manager注册了它:
ConfigurationManager.getConfigInstance().addConfigurationListener(new MyCustomConfigurationListener());
现在我可以看到
MyCustomConfigurationListener.configurationChanged()
在每次属性更改时被调用两次(一次在之前,一次在之后)。这非常有用!谢谢卡梅隆!