向银联upjas(jboss7.2)迁移总结

背景:

                 目前项目运行于tomcatwas,使用了公司框架,配备了双数据源。需要向银联开发的中间件upjas(基于jboss 7.2)上迁移,最终迁移成功:



 遇到三大问题,先总结如下:

总结:

  1. 1) Jndi问题。

jbossmodules中安装数据库驱动没有成功,原因可能在于需要写一个modules.xml文件配置较多。

后来按照官网文档只需将数据库驱动复制到deployments目录下即可成功,当然驱动包要有一个services.xml,见图1(其中sqlserver-jdbc-4.0.jar 就是数据库驱动)



 

 

驱动安装完后,在standalone.xml里配置datasources即可,注意使用的驱动名(driver元素)就是上面jar包的名字,见图2

 

  1. 2) vfs问题

因为jboss使用了vfs概念,发布的war里的文件常常以vfs://开头,而非file://开头,导致框架自动扫描appContext-*.xml扫描不到必要的文件,导致很多重要的beansessionFactory没有初始化,getSession()时候出现NullPointer

办法是修改了框架代码支持vfs资源。修改后的框架更新包是webframe-core-spring-2.0.1.jar

 3)sessionFactory问题。

公司框架搭载一个数据源。项目代码中,第二个数据源通过一个appContext-xx.xml文件引入第二个sessionFactory,和使用这个数据源的service,这在tomcatwas中没出现问题。但是两个sessionFactory先后在同一上下文创建,且命名相同,存在隐患。果然在jboss下创建第二个时候,第一个设置为null了。

办法是将第二个sessionFactory另外命名(本例中命名为 tdsessionFactory,在<session-factory>元素和 HibernateSupport.java中同时修改),见图三。

 

 

猜你喜欢

转载自xinglijun1973.iteye.com/blog/2421991
今日推荐