Виртуальные хосты JBoss 4.2.3 EAR и Apache 2.2 с jk_mod, обслуживающими пустую белую страницу - PullRequest
2 голосов
/ 01 июня 2009

У меня есть файл EAR, который я пытаюсь развернуть вместе с различными развертываниями WAR на JBoss 4.2.3

Все отдельные автономные развертывания WAR работают нормально и являются лишь копией того же приложения, которое содержится в EAR, но развертывание EAR и включенные WAR (-ы) не работают правильно.

Я получаю пустую белую страницу в браузере при посещении виртуального хоста, который jboss-web.xml настроен для связи с этим EAR. Все остальные виртуальные хосты, связанные с автономными развертываниями WAR, работают нормально и настроены одинаково.

Я не получаю ошибок при запуске, и JBoss сообщает, что сайт был запущен. У меня есть файл jboss-web.xml в WEB-INF WAR, который связывает его с определением из server.xml. Это работает на любом другом типе конфигурации, кроме EAR. Я продолжаю получать только белую страницу, как будто JBoss не может подключить WAR в EAR к хосту, или, возможно, WAR не запускается правильно, или у меня неправильная конфигурация здесь.

Когда я запускаю JBoss, он создает каталоги flex и railo в webwar1.war / WEB-INF, а также каталог Railo-сервера в виде railo.ear / lib / railo-server, но все равно просто предоставляет мне пустую белую страницу .

Вот где я стою ...

У меня есть набор общих JAR-файлов Railo, которые находятся в /JBoss/server/default/deploy/jboss-web.deployer/railojars/lib (я сказал jboss-service.xml включить его в качестве пути к классам)

Мои файлы site1.WAR и site2.WAR находятся в папке развертывания, и каждый из них содержит index.cfm и WEB-INF с web.xml и jboss-web.xml, сопоставленными с виртуальным хостом. Каждый из них использует этот общий экземпляр Railo JAR и отлично работает. Сайты, которые я настроил в server.xml с помощью docPath и appPath для внешней папки, используют эту общую JAR-установку и работают отлично. С этим все хорошо.

Если я помещаю railo1.war, railo2.war и т. Д. В папку / JBoss / server / default / deploy (полная WAR с папкой Railo lib), эти сайты используют экземпляр Railo, содержащийся в WAR. Это тоже замечательно.

Итак, моя единственная оставшаяся проблема заключается в следующем:

в / JBoss / server / default / deploy Я создал railo.ear

Внутри railo.ear есть: META-INF, который содержит application.xml с:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application id="RailoInstance1">
 <display-name>Railo3</display-name>
 <description>Railo3</description>
 <module id="Module1">
 <web>
  <web-uri>webwar1.war</web-uri>
  <context-root>/webwar1</context-root>
 </web>
 </module>
</application>

Он также содержит webwar1.war, который содержит: index.cfm и WEB-INF

В WEB-INF есть web.xml, lib и jboss-web.xml

jboss-web.xml выглядит так:

<jboss-web>
    <context-root>/</context-root>
    <virtual-host>foo3.com</virtual-host>
</jboss-web>

Из server.xml:

<Host name="foo3.com">
    <Alias>www.foo3.com</Alias>
</Host>

foo3.com использует jk_mod для отправки в JBoss через виртуальный хост из Apache. Два других сайта (foo1.com, foo2.com), которые сопоставлены с развертываниями WAR, настроены точно так же и работают нормально.

WEB-INF включает в себя папку lib, поэтому я ожидаю, что этот экземпляр webwar1.WAR будет использовать файлы JAR Railo, содержащиеся в этой папке lib. Проблема в том, что когда я запускаю JBoss, все мои другие сайты настраивают свои различные способы работы, но сайт в webwar1.war не подходит. Я просто вижу белую страницу в браузере.

Итак, либо файл jboss-web.xml в WEB-INF в файле webwar1.war не подключен к определенному в server.xml, либо здесь что-то не так. Мои другие автономные установки WAR и общие JAR-сайты все видят свои соответствующие дескрипторы, отмеченные в их jboss-web.xml, и имеют то же содержимое, что и это развертывание.

Итак, я просто пытаюсь выяснить, что мне нужно сделать, чтобы эта последняя конфигурация EAR заработала.

То, как я сейчас пытаюсь, похоже, что каждая WAR будет пытаться использовать содержащиеся в ней файлы JAR, но я хочу иметь один набор общих файлов JAR для всего EAR, а затем каждый файл WAR в ухе использует эти JARS.

Я хочу иметь возможность иметь webwar1.war, webwar2.war и т. Д. В этой конфигурации EAR, поэтому я переместил папку lib из webwar1.war / WEB-INF / lib в railo.ear / lib

Я бы хотел настроить его таким образом, но я даже не могу получить одну WAR с собственными JAR-файлами для загрузки прямо в EAR. Я попробовал эту новую конфигурацию и получил ту же пустую белую страницу в браузере.

Есть идеи?

JBoss не дает мне ошибок. Еще одна странность в том, что я не получаю ошибку от Apache, как при попытке зайти на сайт, который неправильно настроен и не запускается. И если я захожу на сайт, который не настроен в качестве хоста в JBoss, и меня перенаправляют через jk_mod на JBoss, я вижу страницу по умолчанию для JBoss. Я не вижу эту страницу по умолчанию при посещении виртуального хоста, связанного с этим webwar1.war, в railo.ear, поэтому JBoss должен знать, что он должен что-то делать с доменом / виртуальным хостом, иначе он покажет мне этот JBoss по умолчанию стр. Вместо этого я вижу пустой белый.

Я должен также упомянуть, что это работает на JBoss 5.1. Railo.ear точно так же настроил привязку к виртуальному хосту и работает правильно.

Помощь? Спасибо !!!!

1 Ответ

1 голос
/ 13 октября 2010

звучит как сложная работа; люди из списка рассылки railo-users могут помочь: http://groups.google.com/group/railo

В Railo также есть профессиональная команда по обслуживанию: http://www.getrailo.com/index.cfm/contact-us/

...