2009-03-26 2 views
3

я добавил свойство системы в моем run.conf моего JBOSS как это:Есть ли способ разрешить свойства системы в файле web.xml?

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

ответ

0

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

+0

Я знаю, это только один из возможных вариантов я исследую. если бы я мог разрешить это в моем файле web.xml, это было бы легко, не касаясь каждого файла конфигурации приложения. – Mauli

+0

Если ваш дизайн системы хорошо, вы не должны прикасаться к нему так часто. вы можете скрыть «реализацию», что означает получение свойства за статическим методом. Вы инкапсулируете то, как вы его получите. Сколько раз вы называете это равным для обоих решений. – Mork0075

1

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

3

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

2

Вы должны установить спец-описатель-свойства-замены в 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>