Как настроить этап проекта приложения JSF 2.0 через JNDI в Tomcat - PullRequest
3 голосов
/ 29 июня 2011

изо всех сил пытался найти способ настроить Tomcat 7.0.11, чтобы мое веб-приложение использовало настройки этапа проекта из конфигурации Tomcat.Пока что - не повезло.Идея состоит в том, чтобы установить это свойство в Tomcat server / host / application wide, но не устанавливать его в web.xml.Есть идеи?Я использую MyFaces JSF 2 2.0.5.

1 Ответ

11 голосов
/ 17 ноября 2011

В спецификации сказано, что реализация JSF ищет стадию проекта с использованием JNDI в java: comp / env / jsf / ProjectStage .Если он не найден, он использует параметр контекста javax.faces.PROJECT_STAGE из вашего web.xml.Это означает, что если он определен / найден на вашем Tomcat с использованием JNDI, значение предпочтительнее параметра web.xml.

Вы можете сделать две вещи:

Вариант 1: Перезаписать параметр контекста: это означает, что параметр контекста устанавливается / перезаписывается с помощью Tomcat server.xml или context.xml.Вы должны поместить это в ваш -tag:

<Parameter name="javax.faces.PROJECT_STAGE" value="Production" override="false" />

Осторожно: override = "false" здесь означает, что этот параметр НЕ может быть переопределен web.xml (не наоборот)!

Вариант 2: Конфигурировать ресурс, который можно найти с помощью JNDI: С помощью этого реализация JSF может разрешить этап проекта с помощью поиска JNDI.

<Environment name="jsf/ProjectStage" value="Production" type="java.lang.String" override="false"/>

Вы также можете переместить это в -tag в вашем server.xml.В этом случае вам нужно будет сослаться на это в -tag, используя -tag.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...