JBoss 4.2.3 EAR和Apache 2.2虚拟主机,jk_mod提供空白页面

时间:2009-06-01 02:56:24

标签: jboss coldfusion virtualhost ear railo

我有一个EAR文件,我试图与JBoss 4.2.3上的各种WAR部署一起部署

各个独立的WAR部署都运行良好,只是EAR中包含的同一个应用程序的副本,但是EAR部署并且包含WAR(s)无法正常工作。

当我访问jboss-web.xml配置为与此EAR关联的虚拟主机时,我在浏览器中收到一个空白页面。与独立WAR部署关联的其他虚拟主机都可以正常工作,并以相同的方式配置。

我在启动时没有错误,JBoss报告网站已启动。我在WAR的WEB-INF中有一个jboss-web.xml文件,它将它与server.xml中的定义联系起来。这适用于除EAR之外的所有其他类型的配置。我一直只是一个白页,好像JBoss无法将EAR中的WAR连接到主机,或者WAR没有正确启动或者我的配置有误。

当我启动JBoss时,它会在webwar1.war / WEB-INF中创建flex和railo目录以及作为railo.ear / lib / railo-server的铁路服务器目录,但仍然只是为我提供一个空白页面

这是我的立场......

我有一组共享的Railo JAR文件位于/JBoss/server/default/deploy/jboss-web.deployer/railojars/lib(我已告诉jboss-service.xml将其作为类路径包含在内)< / p>

我的site1.WAR和site2.WAR文件位于deploy文件夹中,每个文件都包含一个index.cfm和一个WEB-INF,其中web.xml和jboss-web.xml映射到虚拟主机。他们每个人都使用这个共享的Railo JAR实例并且运行完美。我在server.xml中使用docPath和appPath在外部文件夹中配置的站点使用此共享JAR安装并完美运行。一切都很好。

如果我在/ JBoss / server / default / deploy文件夹(带有Railo lib文件夹的完整WAR)中放置了railo1.war,railo2.war等,那些站点将使用WAR中包含的Railo实例。这也很棒。

所以,我唯一的问题是:

在/ JBoss / server / default / deploy下我创建了railo.ear

在railo.ear里面是: 包含application.xml的META-INF:

<?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通过Apache的虚拟主机发送给JBoss。映射到WAR部署的其他两个站点(foo1.com,foo2.com)配置完全相同,并且工作正常。

WEB-INF包含lib文件夹,所以我希望这个webwar1.WAR实例能够使用该lib文件夹中包含的Railo JAR文件。问题在于,当我启动JBoss时,我的所有其他站点都配置了各种方式,但webwar1.war中的站点没有出现。我只是在浏览器中看到一个白页。

因此,webwar1.war文件中WEB-INF中的jboss-web.xml没有连接到server.xml中定义的,或者其他地方出错了。我的其他独立WAR安装和共享JAR站点都看到它们各自的描述符在jboss-web.xml中标记,并且具有与此部署相同的内容。

所以,我只想弄清楚我需要做些什么才能使最后的EAR配置起作用。

我现在尝试的方式似乎每个WAR都会尝试使用它包含的JAR文件,但是我希望为整个EAR提供一组共享的JAR文件,然后耳中的每个WAR文件都使用这些JARS。

我希望能够在这一个EAR配置下拥有webwar1.war,webwar2.war等,所以我已经将lib文件夹从webwar1.war / WEB-INF / lib移到了railo.ear / lib < / p>

我希望以这种方式进行设置,但是我甚至无法在EAR内部获得一个带有自己的JAR文件的WAR。我尝试过这个新配置,并在浏览器中获得相同的空白页面。

有什么想法吗?

JBoss没有给我任何错误。另一个奇怪的事情是,当我尝试访问配置不正确且未启动的站点时,我没有像Apache那样收到错误。如果我访问一个未在JBoss中设置为主机的站点,并且我通过jk_mod重定向到JBoss,我会看到JBoss默认页面。当我在railo.ear中访问与此webwar1.war关联的虚拟主机时,我没有看到此默认页面,因此JBoss必须知道它应该对域/虚拟主机执行某些操作,否则它会向我显示默认JBoss页。相反,我看到一个空白的白色。

我还应该提一下,这适用于JBoss 5.1。 railo.ear配置完全相同的方式锁存到虚拟主机上并正常工作。

帮助?感谢!!!!

1 个答案:

答案 0 :(得分:1)

听起来像一份复杂的工作;铁路用户邮件列表上的人员可能会提供帮助:http://groups.google.com/group/railo

Railo还有一支专业服务团队,他们是王牌:http://www.getrailo.com/index.cfm/contact-us/