Как определить корневой контекст вне войны в jboss 5.1? - PullRequest
3 голосов
/ 24 января 2012

Для настройки корневого контекста веб-приложения в jboss 5.1 существует документированный способ, который описывает, как добавить файл jboss-web.xml в каталог WEB-INF веб-приложения

<jboss-web>
  <context-root>/my/custom/context/root</context-root>
</jboss-web>

и это прекрасно работает, но требует одного для изменения файла войны.

Другой вариант - переименовать мой файл войны, но я бы предпочел сохранить оригинальное имя, включающее номер версии, и это не помогло быиз-за необходимости иметь иерархию папок в корне контекста (поскольку нотация # не поддерживается в папке deploy).

Я хочу добиться того же, но без изменения файла war.Я знаю, что tomcat может сделать это с помощью конфигурации контекста, и, насколько я понимаю, в jboss 5.1 есть разновидность tomcat, поэтому мне интересно, сможем ли мы достичь того же эффекта.

Я нашел эту страницуна вики-сайте jboss.org, который описывает контекстную конфигурацию для различных версий jboss и tomcat, но это не работает для меня: попытка добавить

 <Context docBase="/path/to/my.war" path="/my/custom/context/root"/>

к deploy/jboss.sar/server.xmlошибка при запуске:

 org.jboss.xb.binding.JBossXBException: Failed to parse source: Context not found as a child of Host in unordered_sequence: Listener* Valve* Alias* Realm? attributes?

, которая говорит мне, что тег Context не поддерживается в Host.

Добавление элемента Context в файл с именем deploy/jboss.sar/jboss.web/localhost/my#custom#context#root.xmlничего не делает и блаженно игнорируется jboss (хотя я вижу, что файл открывается процессом java).

Может быть, это просто невозможно с jboss 5.1?Любые идеи приветствуются.

Примечание. Похоже, это было закомментировано из исходного кода .Это объясняет, почему это не поддерживается, но есть ли другие альтернативы?

1 Ответ

1 голос
/ 08 марта 2012

У меня нет ответа для вас, но я могу сказать, что JBoss Web Server определенно не является чистым Apache Tomcat, и некоторые возможности, доступные в Tomcat, не работают в JBoss Web Server. Одной из этих отключенных функций также является то, что в отдельном элементе <Service> не может быть определенных элементов <Valve>.

Но, на ваш вопрос, подумайте об этом с точки зрения JBoss Web Server. На войне есть возможность изменить корневой контекст в jboss-web.xml. В Tomcat вы можете изменить его в server.xml. Каким будет конечный контекст, если вы измените его как в jboss-web.xml, так и в server.xml? Скорее всего, это причина, по которой конфигурация в server.xml отключена.

...