Есть ли способ разрешить системные свойства в файле web.xml?

StackOverflow https://stackoverflow.com/questions/686591

  •  22-08-2019
  •  | 
  •  

Вопрос

Я добавил системное свойство в файл 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>
...
Это было полезно?

Решение

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

Другие советы

Вы должны установить замена свойства-дескриптора спецификации в Standalone.xml в истинный

    <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>

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top