为什么JBoss-7.2.0应用程序在从Tomcat 6.0移植后无法工作



我有一个Tomcat 6应用程序,包含JSF、Servlet、Spring、Hibernate和jBPM。我做了以下操作将其"迁移"到Tomcat 7.2.0.0-最终:-

  1. 从OpenLogic下载了JBoss-7.2.0.0-Final,因为JBoss社区已经停止使用JBoss-7.1.0.0-Finar(应该是"bug")。

  2. 根据Tomcat server.xml中的值在JBoss standalone.xml中设置数据源

  3. 在此基础上进行了更多配置更改http://www.mastertheboss.com/jboss-web-server/tomcat-to-jboss-migration

  4. 下载了ojdb6.jar,创建了相应的module.xml并将其添加到ojdb6.jar中。将它们都放在JBoss Home/modules/system/layers/base/com/oracle/main文件夹中。

  5. 在Tomcat/webapps/myApplication文件夹中创建了一个名为xxx.war的war。(它可能有递归war,jar。我不知道)。我将这个war文件复制到了JBossHome/stalone/deploments文件夹中。

  6. 我启动了JBoss服务器。然后,我在http://localhost:32080打开管理控制台,它成功连接到数据源,显示正在部署的war文件(xxx.war)。

  7. 然而,当我在http://localhost:32080/xxx/login.jsf处键入应用程序的URL时,会出现404错误。(xxx-war中有一个login.xhtml文件,我认为xhtml已经映射到JSF的某个地方)。

  8. 在我启动JBoss的控制台中,我得到了以下错误:"无法启动服务JBoss.persistenceunit"xxx.war#xxxPersistenceUnit"…:org.hibernate.MappingException:解析文件时出错:jbpm.history.hbm.xml.

现在,Tomcat版本使用的是jBPM 3.2。据我所见,JBoss 7.2.0.0-Final并不包括jBPM框架。

也许这个问题有很多歧义,但有人能告诉我,为了克服这些问题并启动Login.jsf,需要研究哪些领域吗?

谢谢和问候,Chak。

PS:-回顾一下,我觉得我必须将jBPM集成到我的JBoss应用程序中。这可能就是问题所在。欢迎有任何想法。

因此,基本上您有一个想要部署到JBoss AS 7.2的war应用程序。从技术上讲,提供的web容器是JBoss web。你可以在这里看到与JBoss AS捆绑的web容器版本

我从未做过这个练习,但我认为您需要对适当的配置文件进行更改(这些文件可能与独立Tomcat中的名称/结构不同)。这里解释了在JBoss AS上部署war文件的说明,这里解释了JBoss web上的

关于依赖关系,如果您的应用程序需要Jboss AS提供的一些依赖关系,那么您必须通过启用它们各自的模块来启用它们。如果您的应用程序在其代码中引用了某些模块,则这些模块是隐式包含的,但由于JBoss的模块化特性,有些模块需要显式启用。

最新更新