2017-04-26 51 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告訴春天刷新它的時間表屬性:

相關問題