【问题标题】:Command-line properties file reference overriding mule-app.xml覆盖 mule-app.xml 的命令行属性文件参考
【发布时间】:2015-11-25 19:26:03
【问题描述】:

我在几个.properties文件中放置了变量,并在mule的mule-app.properties中成功创建了一个mule.env变量文件以引用要使用的那些文件。我试图允许命令行参数覆盖 mule.env 变量,以便可以使用指定的属性文件。我也喜欢将 mule.env 变量作为默认值存在于 mule-app.properties 文件中,以防通过命令行未设置任何内容。但似乎现有的 mule-app.properties 文件覆盖了命令行参数。

mule-app.parameters 文件包含如下变量:

mule.env=dev

虽然命令行参数如下所示:

-Dmule.env=prod

属性占位符会像这样查找属性文件:

<context:property-placeholder location="classpath:${mule.env}.properties" />

我更喜欢的结果是,当 mule 应用程序以命令行参数启动时,属性占位符会找到 prod.properties 文件而不是 dev.properties 文件;但是,它仍然使用 dev.properties 文件。

如果我从 mule-app.properties 文件中删除变量,命令行参数可以正常工作。

我更喜欢命令行覆盖 mule-app.properties 文件中的内容。那可能吗?我做错了什么?

【问题讨论】:

    标签: mule


    【解决方案1】:

    为此您必须在Mule中设置属性wrapper.conf

    1. 导航到[Mule standalone]/conf 文件夹。
    2. 在任意文本编辑器中打开wrapper.conf
    3. # GC settings下添加如下脚本:wrapper.java.additional.15=-­Denv=prod

    注意:确保数字正确。在此示例中,该文件中的最后一个数字是:wrapper.java.additional.14

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-21
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多