有没有办法解析web.xml文件中的系统属性?

时间:2009-03-26 16:41:34

标签: java servlets jboss web.xml

我在我的JBOSS的run.conf中添加了一个系统属性,如下所示:

JAVA_OPTS="$JAVA_OPTS -Dfoo=bar"

现在我的问题是,如果有办法在web.xml文件中以这样的方式解析此属性:

...
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
    classpath:applicationContext-common.xml
    classpath:conf/${foo}/applicationContext-local.xml
  </param-value>
</context-param>
...

4 个答案:

答案 0 :(得分:4)

您必须将standalone.xml中的 spec-descriptor-property-replacement 设置为 true

    <subsystem xmlns="urn:jboss:domain:ee:1.2">
        <spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>
        <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
    </subsystem>

答案 1 :(得分:3)

由于JBoss在内部使用tomcat web-container,它应该像你的示例一样工作($ {foo} /applicationContext-local.xml)。我没有尝试过JBoss案例,但我们一直在Tomcat中使用这种技术。

答案 2 :(得分:1)

web.xml应仅适用于单个Web应用程序。它不应该具有全局配置。所以不行。无论如何,当服务器和你的webapp加载时,开始播放命令行参数的时间会很晚。

答案 3 :(得分:0)

我不知道有任何可能性。但在我看来,这应该在应用程序中实现。为什么你想增加间接?通常,您可以从应用程序(app&gt; web.xml)中访问web.xml的内容。为什么:app&gt; web.xml&gt;环境变量?

相关问题