JBoss4到JBoss5的迁移

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


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

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

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

注意点

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

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


[b]2. 关于Hibernate的配置[/b]

在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 = "DatasourceName">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 = "datasourceName">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>



注意点

* 标签名称的变化 “[color=red]attribute[/color]” 变成了 “[color=red]property[/color]”。

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

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


[b]3. 事务配置[/b]

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

[b]4. jms的配置目录[/b]

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

[b]5. JMS的destination的配置[/b]

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

[b]6. JMS中关于JDBC的配置[/b]

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

[b]7. 关于tomcat[/b]

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

[b]8. 关于 ROOT.sar[/b]

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

暂时就总结这么多,总结得比较粗,希望对大家有用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值