1

我正在使用 Apache Commons 配置库来存储我的应用程序属性。我可以使用监视属性文件的更改FileChangedReloadingStrategy并且它工作得很好。我想做的是触发属性文件更改时configurationChanged的事件。ConfigurationListener

如果我将尝试从我的代码中获取属性,则此案例有效

directory = MyConfiguration.getInstance().getString("directory");

这条线会触发configurationChangedFileChangedReloadingStrategy但是我需要在捕获文件更改而不进行冗余调用时触发此事件。

谢谢。

4

2 回答 2

4

FileChangedReloadingStrategy 通过在每次读取参数时检查文件修改时间来工作。如果您没有阅读任何内容,则不会调用 Apache 配置代码,因此无法向您发送通知。

对于我的应用程序,这是更可取的,因为在需要使用文件之前我不关心文件更改。

你可以编写一个新的策略来完成你想要的。您需要启动一个新线程并定期监视文件。

于 2010-04-28T16:45:31.413 回答
0

正如之前的海报所提到的,您可以推出自己的策略。要监视对文件的更改,您可以使用JPoller

于 2010-04-28T22:57:52.230 回答