使用org.apache.commons:commons-configuration2:2.1
我的应用程序需要知道何时重新加载配置文件,以便它可以更新程序中的某些内容。 Apache Commons Configuration2使用了很多策略和工厂,通常这很好,但是它变得如此复杂,我无法弄清楚我需要在哪里安装一个监听器。
申请表有:
configConfigurationBuilder = new ReloadingFileBasedConfigurationBuilder<FileBasedConfiguration>(
PropertiesConfiguration.class)
.configure(new Parameters().properties().setFile(getConfigFile()));
final PeriodicReloadingTrigger configReloadingTrigger = new PeriodicReloadingTrigger(
configConfigurationBuilder.getReloadingController(), null, 1, TimeUnit.MINUTES);
configReloadingTrigger.start();
我可以在哪些内容中安装一个监听器?我只是想在重新加载配置文件时收到通知。
我注意到ReloadingDetector
接口有一个reloadingPerformed()
方法,这听起来像我想要的。但是如何添加自己的ReloadingDetector
?似乎ReloadingController
只保留一个ReloadingDetector
。当然,我没有子类ReloadingDetector
并安装自定义的,是吗?我不想专门进行重新加载检测,因此子类化不合适 - 我只是想在事情发生时得到通知。此外,对于我来说,我甚至不会在ReloadingFileBasedConfigurationBuilder
事件链中使用内部因素来创建探测器。
那么我怎样才能轻松让Apache Commons Configuration2在重新加载配置时通知我?