我正在使用Apache Commons Configuration库来存储我的应用程序属性。
我可以使用FileChangedReloadingStrategy
来监控属性文件的更改,并且它可以完美地运行。
我想要做的是在更改属性文件时触发configurationChanged
事件ConfigurationListener
。
如果我尝试从我的代码
获取属性,则此案例有效directory = MyConfiguration.getInstance().getString("directory");
此行将触发configurationChanged
。但是,当FileChangedReloadingStrategy
捕获文件中的更改而不进行冗余调用时,我需要触发此事件。
感谢。
答案 0 :(得分:4)
FileChangedReloadingStrategy通过每次读取参数时检查文件修改时间来工作。如果您没有阅读任何内容,则不会调用Apache配置代码,因此无法向您发送通知。
对于我的应用程序,这是更理想的,因为在我需要使用它之前我不关心文件更改。
您可以编写新策略来完成您想要的任务。您需要启动一个新线程并定期监视该文件。
答案 1 :(得分:0)
正如上一张海报所提到的,你可以推行自己的策略。要监控文件的更改,您可以使用JPoller。