欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-09 13:05:31
...

 

背景:

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


向银联upjas(jboss7.2)迁移总结
            
    
    博客分类: 诺祺 jboss双数据源 
 遇到三大问题,先总结如下:

 

总结:

 

  1. 1)Jndi问题。

 

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

 

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


向银联upjas(jboss7.2)迁移总结
            
    
    博客分类: 诺祺 jboss双数据源 
 

 

 

驱动安装完后,在standalone.xml里配置datasources即可,注意使用的驱动名(driver元素)就是上面jar包的名字,见图2
向银联upjas(jboss7.2)迁移总结
            
    
    博客分类: 诺祺 jboss双数据源 
 

 

  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中同时修改),见图三。

 

 
向银联upjas(jboss7.2)迁移总结
            
    
    博客分类: 诺祺 jboss双数据源 
 

 

  • 向银联upjas(jboss7.2)迁移总结
            
    
    博客分类: 诺祺 jboss双数据源 
  • 大小: 932.8 KB
  • 向银联upjas(jboss7.2)迁移总结
            
    
    博客分类: 诺祺 jboss双数据源 
  • 大小: 802.3 KB
  • 向银联upjas(jboss7.2)迁移总结
            
    
    博客分类: 诺祺 jboss双数据源 
  • 大小: 1.1 MB
  • 向银联upjas(jboss7.2)迁移总结
            
    
    博客分类: 诺祺 jboss双数据源 
  • 大小: 1 MB
相关标签: jboss 双数据源