2017-04-26 50 views
0

我可以为最佳实践管理属性做些什么?什么是最适合我的管理属性?

  1. 我想为每个部署的环境设置不同的属性。
  2. 我的一些开发人员无法检测到我的真实服务器属性。我想要使​​用相同的命令(使用maven。不想-P dev,-P生产选项)生成项目
  3. 我不想太多的源代码来加载我的属性(如implements db访问)
  4. 当某些属性已更改时,可以继续我的服务而无需重新启动。

我的服务是用spring-web开发的。

回答

1

你有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告诉春天刷新它的时间表属性:

相关问题