Как внедрить свойство из Tomcat context.xml в компонент Seam? - PullRequest
2 голосов
/ 24 мая 2011

В документации Seam вы можете поверить, что если вы определите свойство в web.xml или с помощью аргумента -D, оно найдет его и автоматически установит для вашего компонента.Поэтому, если у вас есть bean-компонент gateway с свойством login и сеттером, вы можете создать свойство gateway.login в seam.properties, но если вы определили его в -D, вы должны использовать org.seam.properties.gateway.login.Я получил это для работы (с -D то есть), но я не мог получить его, чтобы увидеть либо определения & Parameter или & Environment из в context.xml.

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

1 Ответ

0 голосов
/ 07 июня 2012

Вы должны использовать опцию <Parameter/>, а не <Environment/> (насколько мне известно, Seam не ищет параметры инициализации в JNDI). Свойство name не должно содержать префикс org.jboss.seam.properties (это только для записей -D), поэтому вы должны использовать:

<Parameter name="gateway.login" value="yourvalue" override="false" />

override="false" означает, что значение, установленное здесь, будет иметь приоритет над эквивалентными тегами <context-param/> в web.xml, если они существуют (если вы не используете опцию override, контекстные параметры, определенные в web.xml, имеют приоритет перед номером в context.xml).

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