【发布时间】:2018-01-18 09:20:17
【问题描述】:
我在 apache tomcat 上托管了 java 应用程序。有一些从 project.properties 文件派生的值。但是为了反映任何新的/更改的属性值,我需要重新启动 tomcat 服务/应用程序服务。
那么有什么方法可以在运行时/运行时反映这些变化?
提前致谢。
【问题讨论】:
标签: java apache tomcat properties-file hotdeploy
我在 apache tomcat 上托管了 java 应用程序。有一些从 project.properties 文件派生的值。但是为了反映任何新的/更改的属性值,我需要重新启动 tomcat 服务/应用程序服务。
那么有什么方法可以在运行时/运行时反映这些变化?
提前致谢。
【问题讨论】:
标签: java apache tomcat properties-file hotdeploy
您的问题非常广泛,并没有说明您是否使用特定框架来构建您的应用程序。大多数框架对此都有一些默认支持,因此如果您构建一个在 Tomcat 中运行的普通 Java 应用程序,您可以通过使用例如“公共配置”来做到这一点。
使用“公共配置”,您可以使用重新加载策略设置属性配置:
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 示例。
【讨论】: