我可以为最佳实践管理属性做些什么?
我的服务是使用spring-web开发的。
答案 0 :(得分:1)
你有两个问题:
1)如何让你的属性在war文件之外,我建议你做以下事情:
@PropertySource(value={"classpath:/config.properties", "file:${configRoot}/config.properties"}, ignoreResourceNotFound = true)
然后,当您启动应用程序时,您可以将configRoot指定为JVM的系统属性,即-DconfigRoot = / var / config。然后,您可以指定将从战争中提取的默认配置。如果找不到文件:$ {configRoot} /config.properties“},则使用ignoreResourceNotFound,将使用第一个文件。即,您可以在war中使用默认值并在运行时使用JVM系统参数覆盖它。
2)如何自动刷新
查看this answer告诉spring按计划刷新它的属性: