0
我可以为最佳实践管理属性做些什么?什么是最适合我的管理属性?
- 我想为每个部署的环境设置不同的属性。
- 我的一些开发人员无法检测到我的真实服务器属性。我想要使用相同的命令(使用maven。不想-P dev,-P生产选项)生成项目
- 我不想太多的源代码来加载我的属性(如implements db访问)
- 当某些属性已更改时,可以继续我的服务而无需重新启动。
我的服务是用spring-web开发的。
我可以为最佳实践管理属性做些什么?什么是最适合我的管理属性?
我的服务是用spring-web开发的。
你有2个问题:
1)如何有战争文件之外的性能,我建议你做到以下几点:
@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告诉春天刷新它的时间表属性: