我在Apache Tomcat上托管了Java应用程序。有一些来自project.properties文件的值。但是要反映任何新的/更改的属性值,我需要重新启动tomcat服务/应用程序服务。
那么,有什么方法可以在运行时/即时反映这些变化吗?
提前致谢。
最佳答案
您的问题非常广泛,没有指定您是否使用特定的框架来构建应用程序。大多数框架对此都有默认支持,因此,如果您构建在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的完整示例。