`

部署ear和jar的疑问

阅读更多

   今天测试过找到了些头绪。

   情况

   在jboss下有三个包,A.jar, B.ear, C.ear.三者的关系:B.ear是主工程,需要调用A.jar做鉴权,同时需要调用C.ear处理内容管理的业务。而这三个包中,都有一个Ejb3Factory的类,但是不同步(事实上是应该同步的。),这个类的作用是实例化会话bean用的,包括实例化会话bean的远程接口和本地接口。其中还有common.jar,这个包是包含了公共的会话bean、工具类、公共实体类,同时B.ear, C.ear都import了这个包,另外A.jar理论上来说也应该import这个包,实际上也算是import了,但是版本不同,少了getLocalEJBSessionBean(String moduleName,String ejbSessionBeanName)

   其当B.ear调用C.ear处理业务的时候,C.ear需要调用本身的Ejb3Factory进行实例化一些持久层的会话bean,这个时候就报错,找不到Ejb3Factory.getLocalEJBSessionBean方法了。

    后来测试:1、单独将C.ear部署到jboss,单元测试时,能够调用,并能返回正确的值。

                   2、将B.ear、C.ear部署到jboss,单元测试,调用的是C.ear的Ejb3Factory.getLocalEJBSessionBean方法,能返回正确的值。

                   3、将A.jar, B.ear, C.ear部署到jboss,单元测试,报错,找不到Ejb3Factory.getLocalEJBSessionBean方法。

                   4、将common.jar、C.ear部署到jboss,能够调用,并能返回正确的值。但是后台打印的信息显示C.ear调用本身的Ejb3Factory进行实例化一些持久层的会话bean时,这个Ejb3Factory是属于common.jar的。

 

   猜论:部署后,ear包在寻找javabean的时候,优先考虑jar包的,而不是ear包的。

            实际上呢,需要继续测试才知道。

 

后续:

    测试:将A.jar, common.jar, C.ear部署到jboss中,单元测试,能够调用,并能返回正确的值,后台显示的是调用了common.jar的Ejb3Factory。这里猜测到,部署的顺序是按第一个字母来排的。

            修改A.jar, common.jar的名称,将其首字母改为s、t(排在R的后面),测试发现,还是调用了原来的A.jar的Ejb3Factory。。

  

分享到:
评论

相关推荐

    Java中Ear、Jar、War文件之间有何不同

    Java中Ear、Jar、War文件之间有何不同

    jar_war_ear文件.doc

    Ear 文件通常用于封装企业级应用程序,例如 EJB 组件部署文件、Web 应用程序、Jar 文件等。 比较 从文件结构上来看,Jar、War、Ear 文件并没有什么不同,它们都采用 zip 或 jar 档案文件压缩格式。但是它们的使用...

    \Wblogic布署布骤ear包(图解)

    EAR文件是JavaEE应用的标准打包格式,它包含了多个组件,如EJB(Enterprise JavaBeans)、WAR(Web Application Archive)和JAR(Java Archive)等。通过EAR文件,开发者可以将整个应用作为一个单元进行部署,便于...

    怎样制作ear,war文件

    ### 怎样制作EAR、WAR 文件 在Java开发领域中,了解如何正确地构建和部署应用程序至关重要。EAR(Enterprise ...通过以上步骤,你可以有效地创建并部署EAR和WAR文件。这对于开发高质量的企业级Java应用至关重要。

    EJB 打EAR包

    使用构建工具(如Maven的`ear-maven-plugin`或Gradle的`ear`插件)将EJB JAR、Web组件(如有)、库文件和其他资源打包到一个EAR文件中。 **四、部署和运行** 1. **选择应用服务器**: 选择兼容的Java EE应用...

    war包_jar包_ear包_及打包方法

    war包_jar包_ear包_及打包方法

    33种jar包.rar

    与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何...

    eclipse导出ear包

    2. **配置项目属性**:确保每个项目的部署配置正确,例如,EJB项目的ejb-jar.xml和Web项目的web.xml文件应完整且无误。这些配置文件定义了项目的部署细节,如版本、依赖等。 3. **设置EAR项目**:如果还没有EAR项目...

    maven-ear-plugin-2.5.jar

    maven-ear-plugin-2.5.jar

    MQ整理jar该资源主要是用于java关联Mq中所需要的jar

    该资源主要是用于java关联Mq中所需要的jar其中包含这些jar CL3Export.jar CL3Nonexport.jar com.ibm.mq.commonservices.jar com.ibm.mq.defaultconfig.jar com.ibm.mq.fta.jar ...SIBXJndiLookupEAR.ear

    DB2 jar Webshpere jar 放服务器上的jar

    当涉及到将这些技术整合到一起时,`DB2 jar` 和 `WebSphere jar` 文件的正确配置和部署至关重要。 首先,让我们详细了解一下`DB2 jar`文件。这些JAR(Java Archive)文件包含了与DB2数据库交互所需的各种Java类和库...

    weblogic+web+ejb部署学习j2ee(1)

    【部署】在J2EE环境中,应用程序的部署涉及到配置XML文件(如web.xml和ejb-jar.xml)、打包成WAR或EAR文件,以及在应用服务器上安装和启动。"deployment.html"可能包含关于如何在WebLogic服务器上部署Web和EJB组件的...

    jar_all.rar

    2. **EAR**(Enterprise Archive):适用于企业级Java应用,包含多个WAR和EJB JAR文件。 3. **OBR**(OSGi Bundle Repository):在OSGi环境中,JAR作为模块化组件。 六、现代工具与JAR 随着Maven、Gradle等构建...

    WebSphere7.0安装及部署手册及ojdbc6(jar)

    本手册将详细介绍如何在操作系统环境中安装和部署WebSphere 7.0,以及如何利用ojdbc6.jar这个Oracle数据库驱动进行连接。 一、WebSphere 7.0的安装 1. **系统需求**:首先确认你的系统满足WebSphere 7.0的硬件和...

    maven-ear-plugin-2.7.jar

    maven-ear-plugin-2.7.jar

    maven-ear-plugin-2.6.jar

    maven-ear-plugin-2.6.jar

    maven-ear-plugin-2.4.jar

    maven-ear-plugin-2.4.jar

    maven-ear-plugin-2.4.2.jar

    maven-ear-plugin-2.4.2.jar

    maven-ear-plugin-2.4.1.jar

    maven-ear-plugin-2.4.1.jar

    maven-ear-plugin-2.3.jar

    maven-ear-plugin-2.3.jar

Global site tag (gtag.js) - Google Analytics