Есть ли способ разрешить системные свойства в файле web.xml? - PullRequest
4 голосов
/ 26 марта 2009

Я добавил системное свойство в свой файл run.conf JBOSS, например:

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 ]

4 голосов
/ 22 апреля 2015

Вам нужно установить spec-descriptor-property-replace * в standalone.xml на 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>
3 голосов
/ 12 июня 2009

Поскольку JBoss внутренне использует веб-контейнер tomcat, он должен работать как ваш пример ($ {foo} /applicationContext-local.xml). Я не пробовал дело JBoss, но мы все время используем эту технику в Tomcat.

1 голос
/ 26 марта 2009

web.xml должен применяться только к одному веб-приложению. У него не должно быть глобальной конфигурации. Так что нет. В любом случае, к моменту загрузки сервера и вашего веб-приложения уже поздно начинать проигрывать аргументы командной строки.

0 голосов
/ 26 марта 2009

Я не знаю никакой возможности. Но на мой взгляд это должно быть реализовано в приложении. Почему вы хотите увеличить косвенность? Обычно вы получаете доступ к содержимому web.xml из вашего приложения (app> web.xml). Почему это: app> web.xml> переменная окружения?

...