`
lppchina
  • 浏览: 51316 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类

J2EE程序从JBoss4.0.0及3.2.x升级到4.0.1+的问题解决办法

阅读更多
在JBoss的文档中,宣称JBoss4.0版本是业界第一个支持J2EE1.4规范的应用服务器。以前公司的很多程序都是在JBoss3.2.x的版本上开发的,所以就想把他们移植到JBoss4.0.2中。于是,我就把预案原来程序原封不动的copy到JBoss4.0.2的default/deploy目录中,但是运行时却怎么也出不来结果。最后通过一步步跟踪,发现程序在获得EJB的home接口时发生了异常,异常类型为ClassCastException——类型转换错误。
    在JBoss的服务器类型中一般会包含三种配置:default、minimal和all,这种配置方式在3.2和4.0.1+中都是一致,但是有一个版本例外,那就是4.0.0。在4.0.0中包含了4种服务器配置:default、minimal、all和standard。在4.0.0中standard配置就相当于3.2和4.0.1+中的default配置,而4.0.0中的defaut配置和standard配置是一样的,除了default完全兼容于J2EE1.4规范。在3.2和4.0.1+的default配置中以及4.0.0的standard配置中,JBoss在它的统一标准的类装载器里启动所有的J2EE服务。这样,当所有组件都发布在同一个JVM中时,它就会获得最优化的性能。但是,在JBoss的这种配置中,被发布的应用程序并没有被严格划分。于是就导致这种配置并不能完全适应J2EE1.4的规范。因此当我们把程序直接copy过来时才会发生异常。为了使这种配置完全适应J2EE规范,我们必须按照以下的步骤修改配置文件的设置,使范围类装载行为和通过值调用的JNDI查找行为起作用。
    第一步,编辑conf/jboss-services.xml文件,将NamingService的CallByValue属性的值设置为true。
    <mbean code="org.jboss.naming.NamingService"
           name="jboss:service=Naming">
          <!-- The call by value mode. true if all lookups are unmarshalled using
               the caller's TCL, false if in VM lookups return the value by reference.
          -->
          <attribute name="CallByValue">true</attribute>
          ...
    </mbean>
    第二步,编辑deploy/ear-deployer.xml文件,设置Isolated和CallByValue属性的值为true。
    <server>
      <!-- EAR deployer, remove if you are not using ear deployments -->
      <mbean code="org.jboss.deployment.EARDeployer"
             name="jboss.j2ee:service=EARDeployer">
        <!-- A flag indicating if ear deployments should have their own scoped
             class loader to isolate their classes from other deployments.
          -->
        <attribute name="Isolated">true</attribute>
        <!-- A flag indicating if the ear components should have in VM call
             optimization disabled.
          -->
        <attribute name="CallByValue">true</attribute>
      </mbean>
    </server>
    最后,编辑deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml文件,设置Java2ClassLoadingCompliance和UseJBossWebLoader属性的值为true。
    <server>
      <mbean code="org.jboss.web.tomcat.tc5.Tomcat5"
             name="jboss.web:service=WebServer">
        <!-- Get the flag indicating if the normal Java2 parent first class
             loading model should be used over the servlet 2.3 web container first
             model.
          -->
        <attribute name="Java2ClassLoadingCompliance">true</attribute>
        <attribute name="LenientEjbLink">true</attribute>
        <!-- A flag indicating if the JBoss Loader should be used. This loader
             uses a unified class loader as the class loader rather than the tomcat
             specific class loader.
          -->
        <attribute name="UseJBossWebLoader">true</attribute>
    经过以上步骤地修改以后,这个配置就完全适应J2EE规范了,升级时出现的问题也就顺利解决了。
来自:中国移动开发者社区
分享到:
评论

相关推荐

    JBoss Administration and Development, Third Edition (3.2.x Series)

    根据提供的文件信息,我们可以总结出《JBoss Administration and Development, Third Edition (3.2.x Series)》这本书的主要知识点。本书由Scott Stark与JBoss Group共同编写,并于2003年进行了更新,针对的是JBoss ...

    JBOSS-J2EE.JAR

    JBOSS-J2EE.JAR JBOSS-J2EE.JAR JBOSS-J2EE.JAR JBOSS-J2EE.JAR JBOSS-J2EE.JAR JBOSS-J2EE.JAR

    Tutorial.for.building.J2EE.Applications.using.JBOSS.and.ECLIPSE

    《教程:使用JBOSS和ECLIPSE构建J2EE应用程序》是针对J2EE开发的一份详细学习资源,旨在帮助开发者在21天内掌握J2EE的基础知识和实践技能。本教程结合了理论讲解与实际操作,通过使用JBOSS应用服务器和ECLIPSE集成...

    基于JBoss 4.x的J2EE 1.4应用开发指南

    J2EE发展趋势 案例研究 J2EE Tutorial Java Pet Store Java Adventure Builder 钟情JBoss 4.x 全书内容安排 1 安装JBoss 4.x 2 安装JBoss-IDE 1.4.0 3 基于JBoss 4.x的JSF应用开发 ...

    activemq-ra-3.2.jar.zip

    标题中的"activemq-ra-3.2.jar.zip"是一个归档文件,它包含了ActiveMQ的一个特定版本(3.2)的资源适配器(Resource Adapter,简称RA)。这个文件被压缩成ZIP格式,便于传输和存储。在Java环境中,JAR(Java Archive...

    jbosstools-4.0.1.Final

    jbosstools-4.0.1.Final JBoss Tools 原名为JBoss IDE,现在统一改名为 JBossTools,JBoss Tools包含了JSF,Hibernate,JBossSeam,jBPM等一系列的开发工具。

    jboss-j2ee.jar

    jboss-j2ee.jarjboss-j2ee.jarjboss-j2ee.jar

    jboss-4.0.5.GA.zip

    12. **社区支持**:作为开源项目,JBoss拥有活跃的社区,提供了大量的文档、示例和问题解答,方便用户学习和解决问题。 在使用"jboss-4.0.5.GA.zip"这个压缩包时,用户需要先将其解压,然后按照官方文档或者社区...

    基于 JBoss 4.x的 J2EE 1.4 应用 开发指南

    《基于JBoss 4.x的J2EE 1.4应用开发指南》是一本专为开发者设计的详尽教程,旨在帮助读者掌握如何在JBoss 4.x应用服务器上开发和部署J2EE 1.4标准的应用程序。这本书深入探讨了JBoss 4.x与J2EE 1.4规范的集成,以及...

    java开发常用jar包

    hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.2.0.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar jackson-annotations-2.5.0.jar jackson-core-2.5.0.jar jackson-databind-...

    ejb3 and jboss 多本合一(three)

    ejb3 and jboss 多本合一(three) Using @Service annotation in eclipse JBoss中文文档.pdf JBOSS使用指南.doc JBOSS架构分析.doc JBOSS对EJB3_0的扩展 jbossgs4x.pdf JBoss-EJB3.0实例教程.pdf JBoss.in.Action....

    开发基于JBoss的J2EE应用.pdf

    ### 开发基于JBoss的J2EE应用 #### 一、引言 JBoss作为一款高性能的开源J2EE应用服务器,在业界获得了广泛的认可。它不仅提供了强大的EJB容器功能,还具有诸多特色优势,例如免安装特性、基于JMX架构、支持热部署...

    jboss-logging.jar,jboss-common.jar

    java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object; 错误解决办法

    jdk1.6与jboss5.x冲突问题的解决方法

    在解决问题的过程中,标签中涉及的“jboss jdk java j2ee 冲突”暗示了解决方案可能涉及到调整JDK版本、JBoss配置或J2EE(Java 2 Platform, Enterprise Edition)规范的正确实现。J2EE是Java平台的一个版本,专为...

    jboss 下载(httpwww.jboss.org)

    【JBoss 应用服务器详解】 JBoss 是一个开源的、基于 J2EE(Java 2 Platform, Enterprise Edition)的应用服务器,由全球开发者社区共同维护和开发。它最初以 LGPL 许可协议发布,允许商业应用免费使用。2006年,...

    jboss-threads-3.1.0.Final-API文档-中文版.zip

    赠送jar包:jboss-threads-3.1.0.Final.jar; 赠送原API文档:jboss-threads-3.1.0.Final-javadoc.jar; 赠送源代码:jboss-threads-3.1.0.Final-sources.jar; 赠送Maven依赖信息文件:jboss-threads-3.1.0.Final....

    J2EE应用服务器Jboss+Tomcat安装攻略

    总的来说,Jboss+Tomcat的组合提供了一个免费且功能齐全的J2EE开发环境。虽然手动配置可能需要花费更多时间,但这也为开发者提供了更深入学习J2EE架构的机会。对于初学者和开发者来说,这是一个很好的实践平台,可以...

    使用eclipse通过jboss开发简单的ejb应用(jboss7.x & ejb3.x)

    在本文中,我们将深入探讨如何使用Eclipse IDE与JBoss应用程序服务器(版本7.x)来开发和部署一个基于EJB 3.x的简单企业级Java应用程序。EJB(Enterprise JavaBeans)是Java平台上的核心组件,它提供了一种标准的...

    j2ee 1.4所有jar包

    activation.jar javax.servlet.jar javax.servlet.jsp.jar jboss-j2ee.jar jboss-jaxrpc.jar jboss-jsr77.jar jboss-saaj.jar mail.jar namespace.jar xml-apis.jar

Global site tag (gtag.js) - Google Analytics