JBoss4到JBoss5的迁移

前段时间由于项目的需要,需要把项目从JBoss4迁移到JBoss5上去,着实花了一点功夫才搞定,先把迁移中的一些经验分享给各位,如有不对的地方,欢迎指正。


迁移主要是配置文件的一些迁移,以及ant的xml文件的修改(主要是JBoss的目录结构发生了变化).


1. 关于EJB的两个配置文件ejb-jar.xml 和jboss.xml


首先就是XML文件的DOCTYPE标签的内容要从JBoss4修改成JBoss5


注意点


在ejb-jar.xml中,以前在消息Bean的<res-ref-name>标签会使用“ jms/QCF ”缩写来表示,在JBoss5中不能再使用了,请改成ConnectionFactory ,否则启动JBoss的时候会报错。


<local-jndi-name> 这个标签不再可用了。


2. 关于Hibernate的配置


在JBoss4中应该有两种风格的Hibernate配置,一种基于hibernate,一种基于JBoss的。到了JBoss5中似乎只有一种,好像是混合体,怪怪的。


首先比较有趣的时候XML命名的方式变了,JBoss4里面一般都是用jboss-service.xml 这个名字,现在变成了service-xxx.xml ,我在项目中使用的是service-hibernate.xml这个名字。


接着说说xml文件本身,JBoss5中使用的配置方式比较类似于JBoss4中的基本JBoss的配置模式,但是有几点小变化一定要注意,通过比较下面两个文件的内容你就明白了。


JBoss4版本


<? xml version = "1.0" encoding = "UTF-8" ?>

< server >


  <!-- The HTTP invoker service configration

  -->

       < mbean

    code = "org.jboss.hibernate.jmx.Hibernate"

    name = "jboss:name=XXXSessionFactory" >

     < attribute name = " D atasourceName " > java:/XXX-DS </ attribute >

     < attribute name = " Dialect " > org .hibernate .dialect.SQLServerDialect </ attribute >

     < attribute name = "SessionFactoryName" > java:/hibernate /XXXFactory </ attribute >

     < attribute name = " ScanForMappingsEnabled " > false </ attribute >

     < attribute name = " ShowSqlEnabled " > false </ attribute >

  </ mbean >


</ server >



JBoss5版本


<? xml version = "1.0" encoding = "UTF-8" ?>


< hibernate-configuration xmlns = "urn:jboss:hibernate-deployer:1.0" >


   < session-factory name = "java:/hibernate/XXXFactory" >

     < property name = " d atasourceName " > java:/XXX-DS </ property >

     < property name = " dialect " > org .hibernate .dialect.SQLServerDialect </ property >

     < property name = " scanForMappingsEnabled " > false </ property >

     < property name = " showSqlEnabled " > false </ property >

   </ session-factory >


</ hibernate-configuration >


注意点


* 标签名称的变化 “attribute ” 变成了 “property ”。


* name的大小写的变化,JBoss4首字母大写,JBoss5首字母小写。


* SessionFactoryName的位置变化,JBoss4里面是一个单独属性,JBoss5里面是一个Element。



3. 事务配置


以前conf目录下 jboss-service.xml 里关于事务的配置部分被挪到新增的文件 transaction-jboss-beans.xml 里去了,这个文件位于deploy目录下


4. jms的配置目录


位于deploy目录下关于jms的配置目录的名称的改变:jms->messaging

 


5. JMS的destination的配置


添加JMS队列时,JBoss4使用jbossmq-destinations-service.xml ,而JBoss5使用的是 destinations-service.xml ,添加的格式只需要照着原有的队列配置添加,修改一下名字和JNDI的名字即可。


6. JMS中关于JDBC的配置


JBoss4使用的配置文件是 mssql-jdbc2-service.xml , 而JBoss5使用的是 mssql-persistence-service.xml。 常见的配置其实就是把这两个文件中的data source的名字换成你自己的即可。


7. 关于tomcat


JBoss5中tomcat还是在的,只不过是换成了jbossweb.sar。在JBoss5把deployer单独分离出来了,放在deployer目录下,该目录和deploy目录在同一个目录下。tomcat也有对应的deployer,在/jbossweb.deployer 目录下,以前的tomcat的jboss-service.xml配置被拆分到了 jbossweb.sar和jbossweb.deployer 的配置文件,你可以根据你的配置要求去修改对应的文件。


8. 关于 ROOT.sar


JBoss5中如果你要把自己的应用设成默认根目录,需要对 ROOT.sar重命名,否则的话,会在启动的时候报错。


暂时就总结这么多,总结得比较粗,希望对大家有用。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值