背景:
目前项目运行于tomcat与was,使用了公司框架,配备了双数据源。需要向银联开发的中间件upjas(基于jboss 7.2)上迁移,最终迁移成功:
遇到三大问题,先总结如下:
总结:
-
1)Jndi问题。
在jboss的modules中安装数据库驱动没有成功,原因可能在于需要写一个modules.xml文件配置较多。
后来按照官网文档只需将数据库驱动复制到deployments目录下即可成功,当然驱动包要有一个services.xml,见图1(其中sqlserver-jdbc-4.0.jar 就是数据库驱动)。
驱动安装完后,在standalone.xml里配置datasources即可,注意使用的驱动名(driver元素)就是上面jar包的名字,见图2。
-
2)vfs问题
因为jboss使用了vfs概念,发布的war里的文件常常以vfs://开头,而非file://开头,导致框架自动扫描appContext-*.xml扫描不到必要的文件,导致很多重要的bean如sessionFactory没有初始化,getSession()时候出现NullPointer。
办法是修改了框架代码支持vfs资源。修改后的框架更新包是webframe-core-spring-2.0.1.jar。
3)双sessionFactory问题。
公司框架搭载一个数据源。项目代码中,第二个数据源通过一个appContext-xx.xml文件引入第二个sessionFactory,和使用这个数据源的service,这在tomcat和was中没出现问题。但是两个sessionFactory先后在同一上下文创建,且命名相同,存在隐患。果然在jboss下创建第二个时候,第一个设置为null了。
办法是将第二个sessionFactory另外命名(本例中命名为 tdsessionFactory,在<session-factory>元素和 HibernateSupport.java中同时修改),见图三。
相关推荐
在IT行业中,JBoss是一个非常著名的开源应用服务器,它基于Java EE规范,提供了一套全面的企业级服务。JMX(Java Management Extensions)是Java平台的一部分,用于管理应用程序、设备和服务。JMX允许开发者创建和...
【JBoss EAP 7.2.6 补丁包详解】 JBoss Enterprise ...总结,JBoss EAP 7.2.6-patch 包含了一系列针对 JBoss EAP 7.2.x 系列的补丁,用户应遵循正确的流程和策略来应用这些补丁,以保持系统安全、稳定和高效。
【JBoss EAP 7.2.0:企业级应用平台详解】 JBoss EAP(Enterprise Application Platform)是Red Hat公司推出的一款开源、基于Java EE(现在称为Jakarta EE)的应用服务器,它为企业级应用程序提供了稳定、安全和可...
jboss官方下载,支持jdk8。JBoss支持EJB 1.1和EJB 2.0 EJB3.0的规范,它是一个管理EJB的容器和服务器。类似于Sun's J2SDK Enterprise Edition(J2EE),JBoss的目标是一个源代码开放的J2EE环境。但是JBoss核心服务仅...
【JBOSS迁移到WEBSPHERE的简要流程】 迁移JBOSS应用程序到IBM的WEBSPHERE平台是一项涉及多个步骤的技术任务,主要目的是确保应用程序在新的应用服务器环境中能够正常运行。以下是一个简化的迁移过程: 1. **安装...
Java 项目从 Tomcat 迁移到 JBoss 的解决方案 在 Java 项目中,迁移到 JBoss 可能会出现各种问题,例如版本兼容问题、设置问题等。本文将介绍如何解决这些问题,包括如何配置 JBoss,使得 Spring 项目能够正常运行...
[Packt Publishing] JBoss AS 7 配置部署管理教程 (英文版) [Packt Publishing] JBoss AS 7 Configuration, Deployment and Administration (E-Book) ☆ 出版信息:☆ [作者信息] Francesco Marchioni [出版机构...
JBoss是一款开源的应用服务器,广泛应用于企业级Java应用的部署和管理。MyEclipse则是一款功能强大的集成开发环境,特别适合于Java EE项目的开发。将JBoss与MyEclipse结合使用,可以提供一个高效且方便的开发和调试...
【JBoss 漏洞利用总结】 JBoss 是一款基于 J2EE 的开源应用服务器,遵循 LGPL 许可,允许在商业应用中免费使用。它主要作为 EJB 容器和服务器,支持 EJB 1.1、2.0 和 3.0 规范。虽然 JBoss 核心服务不包含 Web 容器...
JBoss EAP 的 Docker 镜像 此 docker 映像位于 jboss-base 映像(提供 java 安装 + jboss 用户)之上。 您可以在找到它们
JBoss中间件是一款基于J2EE(Java 2 Platform, Enterprise Edition)的开源应用程序服务器,其核心服务专注于管理和运行EJB(Enterprise JavaBeans)容器和服务器。JBoss支持EJB 1.1、EJB 2.0以及EJB 3.0规范,但不...
个人JBOSS使用总结 主要是个人在用JBOSS做消息队列时的一些总结,例如修改JBOSS 8080端口的位置,修改消息队列监听1099的位置 IP方式访问本机的JBOSSMQ。 只是个人的总结,也许不是太清楚,但是希望各位朋友少走弯路...
描述中提到的"JBOSS7.2包"可能是指JBOSS AS 7.2(Application Server)的一个版本,不过实际提供的文件名为"jboss-as-web-7.0.2.Final",这表明它是针对Web服务的特定组件。JBoss AS 7.x系列在Web服务方面有显著提升...
【标题】:“MyEclipse中配置JBoss” 在IT行业中,MyEclipse是一款深受开发者喜爱的集成开发环境(IDE),尤其对于Java EE项目开发来说,它提供了强大的支持。而JBoss则是一个开源的应用服务器,广泛用于部署和管理...
用于将基于JBoss AS 5的服务器的配置迁移到基于JBoss AS 7的服务器的程序。 适用于源服务器: JBoss AS 5.1+ JBoss EAP 5.x 适用于目标服务器: JBoss AS 7.1.1以上 JBoss EAP 6.x(支持6.1+) Wildfly 8.x 它...
Jboss 项目部署文档 Jboss 项目部署文档是指在 Jboss 服务器上部署项目的详细步骤,包括环境变量的配置、项目打包、配置文件的修改、JNDI 的配置等。以下是 Jboss 项目部署文档的详细知识点: 一、环境变量配置 ...
【JBOSS,JBoss安装部署】 JBoss是Red Hat公司开发的一款开源的应用服务器,它基于Java EE(Enterprise Edition)规范,提供了全面的企业级应用程序部署和管理解决方案。本篇文章将详细讲解JBoss的安装和部署过程,...