部署ear和jar的疑问

2023-10-20 21:48
文章标签 部署 jar 疑问 ear

本文主要是介绍部署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。。

  

这篇关于部署ear和jar的疑问的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/249929

相关文章

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

springboot将lib和jar分离的操作方法

《springboot将lib和jar分离的操作方法》本文介绍了如何通过优化pom.xml配置来减小SpringBoot项目的jar包大小,主要通过使用spring-boot-maven-plugin... 遇到一个问题,就是每次maven package或者maven install后target中的ja

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom