【问题标题】:Configure single property file for multiple enviornment为多个环境配置单个属性文件
【发布时间】:2012-05-31 16:27:32
【问题描述】:

如何为多个环境配置单个配置(属性/xml)文件?比如:

<env="dev">
<webservice-url>http:server1:1010</webservice-url>
</env>
<env="preprod">
<webservice-url>http:server2:1010</webservice-url>
</env>
<env="prod">
<webservice-url>http:server3:1010</webservice-url>
</env>

这里的 env 值作为 JVM 参数(-D 选项)给出,例如 -D=preprod。

【问题讨论】:

  • 你是正确的道路。你被困在哪里了?
  • 如果它们是简单的属性,则为每个环境使用一个属性文件并仅根据您的 vm 参数加载适当的属性文件会更简单。不需要 xml。
  • @SurajChandran 我对如何为应用程序加载这个 xml 文件感到困惑。
  • 您是在运行独立的 jvm 还是在 Web 容器中运行?
  • @SurajChandran WebContainer。具体来说是 Tomcat/JBoss。

标签: java configuration


【解决方案1】:

您可以使用环境名称作为属性名称的前缀。

dev.webservice-url=http:server1:1010
preprod.webservice-url=http:server2:1010
prod.webservice-url=http:server3:1010

如果您将 JVM 选项指定为-Ddeployment=dev,那么您可以访问相应的选项,如下所示:

propertyName = System.getProperty("deployment") + ".webservice-url";
url = props.getProperty(propertyName);

【讨论】:

    猜你喜欢
    • 2015-12-14
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多