部署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

相关文章

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

python如何调用java的jar包

《python如何调用java的jar包》这篇文章主要为大家详细介绍了python如何调用java的jar包,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录一、安装包二、使用步骤三、代码演示四、自己写一个jar包五、打包步骤六、方法补充一、安装包pip3 install

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA