Java项目中的自动更新属性文件值

时间:2017-08-10 08:31:59

标签: java apache tomcat properties-file hotdeploy

我在apache tomcat上托管了java应用程序。从project.properties文件派生了一些值。但是为了反映任何新的/更改的属性值,我需要重新启动tomcat服务/应用程序服务。

那么有没有办法在运行时/运行中反映这些变化?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您的问题非常广泛,并未指明您是否使用特定框架来构建应用程序。大多数框架都有一些默认支持,所以如果你构建一个在Tomcat中运行的普通Java应用程序,你可以通过使用例如“commons配置”来实现这一点。

使用&commons配置'您可以使用重新加载策略设置属性配置:

String filePath = "/some/path/project.properties";
configuration = new PropertiesConfiguration(filePath);

FileChangedReloadingStrategy fileChangedReloadingStrategy = new FileChangedReloadingStrategy();
// 1 second refresh
fileChangedReloadingStrategy.setRefreshDelay("1000");
configuration.setReloadingStrategy(fileChangedReloadingStrategy);

可以在this tutorial中找到完整的Spring示例。