科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道EJB应用从WebLogic到JBoss的迁移方法

EJB应用从WebLogic到JBoss的迁移方法

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

摘要: 在不作任何改动的情况下,为WebLogic开发的应用无法在JBoss中部署,因为JBoss应用服务器的部署描述符有别于WebLogic的部署描述符。在本指南中,我们将通过把WebLogic部署描述符转换成JBoss部署描述符。

作者:中国IT实验室 来源:中国IT实验室 2007年9月30日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

把weblogic-cmp-rdbms-jar.xml转换成jbosscmp-jdbc.xml

    weblogic-cmp-rdbms-jar.xml部署为一个CMP实体EJB指明了数据库持久化信息。weblogic-ejb-jar.xml文件包括某实体EJB对应的表名、连接数据库的数据源和数据库中对应实体EJB字段的列。实体EJB范例的weblogic-cmp-rdbms-jar.xml部署描述符存放在.zip文件中。在JBoss中,指明CMP实体EJB持久化信息的部署描述符是jbosscmp-jdbc.xml。

    weblogic-cmp-rdbms-jar.xml的根元素是weblogic-rdbms-jar。jbosscmp-jdbc.xml的根元素是jbosscmp-jdbc。在weblogic-cmp-rdbms-jar.xml文件中,用于指明连接数据库数据源的data-source-name元素,等同于jbosscmp-jdbc.xml部署描述符的datasource元素。在weblogic-cmp-rdbms-jar.xml中用于指明实体EJB CMP字段到数据库表中对应列映射的field-map元素,等同于jbosscmp-jdbc.xml中的cmp-field元素。在weblogic-cmp-rdbms-jar.xml中用于指明字段名的dbms-column元素,等同于jbosscmp-jdbc.xml中的column-name元素。对应weblogic-cmp-rdbms-jar.xml部署描述符的DOCTYPE是:

<  !DOCTYPE weblogic-rdbms-jar PUBLIC 
'-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB RDBMS Persistence//EN'



对应jbosscmp-jdbc.xml的DOCTYPE是:

<  !DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 4.0//EN"
    "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_4_0.dtd">



    把部署描述符weblogic-cmp-rdbms-jar.xml转换成jbosscmp-jdbc.xml的定制XSLT样式表jbosscmp-jdbc.xslt存放在范例代码中。JBoss中的样式表创建了jbosscmp-jdbc.xml,它等同于WebLogic中的weblogic-cmp-rdbms-jar.xml部署描述符。jbosscmp-jdbc.xml存放在.zip文件中。
 
    WebLogic部署描述符的DTD不同于JBoss部署描述符。通过定制XSLT(为部署描述符添加新元素时,需对XSLT作一些改动),WebLogic的部署描述符可转换成JBoss部署描述符。接下来的部分,EJB应用将部署到JBoss服务器上。

在JBoss中部署EJB应用
    在把WebLogic的EJB部署描述符转换成JBoss部署描述符之后,你需要创建一个EJB .jar文件,把部署描述符部署在JBoss服务器上。JBoss .jar文件的结构是:

META-INF/
  ejb-jar.xml
  jboss.xml
  jbosscmp-jdbc.xml
CatalogBean.class
Catalog.class
CatalogHome.class



编译范例EJB类和接口。
java Catalog.java CatalogBean.java CatalogHome.java

    复制JBoss部署描述符ejb-jar.xml、jboss.xml和jbosscmp-jdbc.xml到目录META-INF下。用jar工具从JBoss部署描述符、类和接口创建一个.jar文件。

jar cf CatalogEJB.jar CatalogBean.class
     Catalog.class CatalogHome.class META-INF/*.xml


    要部署JBoss实体EJB应用,需复制.jar文件EntityEJB.jar到<JBoss>\server\default\deploy目录下,这里的<JBoss>是JBoss的安装目录。当JBoss服务器启动时,上面的EJB应用将被部署。JBoss应用服务器的deploy目录对应于WebLogic应用服务器的applications目录。

结论
    通过转换部署描述符,部署在WebLogic上的实体EJB应用可被迁移至JBoss应用服务器。采用类似的方法,把weblogic.xml部署描述符转换成jboss-web.xml,可使WebLogic J2EE web应用迁移至JBoss。

资源
本文代码:
http://www.onjava.com/onjava/2005/03/09/examples/weblogic-jboss-resources.zip

Deepak Vohra is a NuBean consultant and a web developer.
Deepak Vohra是一位NuBean的顾问和web开发人员。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章