检测Apache Commons Configuration2中的文件重新加载

时间:2016-12-01 18:21:55

标签: config apache-commons apache-commons-config

使用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在重新加载配置时通知我?

0 个答案:

没有答案