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

1/5/2008来源:Java教程人气:5998

摘要:

    在不作任何改动的情况下,为WebLogic开发的应用无法在JBoss中部署,因为JBoss应用服务器的部署描述符有别于WebLogic的部署描述符。在本指南中,我们将通过把WebLogic部署描述符转换成JBoss部署描述符,把一个在WebLogic中开发的实体EJB应用范例迁移到JBoss中。

    WebLogic服务器是一种领先的商业应用服务器。但对于小型企业的开发人员,基于标准的开源应用服务器JBoss可用于替代WebLogic和WebSphere等商业应用服务器。不幸的是,在WebLogic上开发的应用不能部署到JBoss上。JBoss迁移服务(Migration Services)对迁移应用至JBoss提供了支持。该方法,通过将特定厂商的部署描述符转换成JBoss兼容的描述器,使应用迁移到JBoss上。为了示范应用迁移的效果,我们把在WebLogic中对Oracle数据库开发的EJB应用迁移到使用开源的MySQL数据库的JBoss应用服务器。

本指南有如下几个部分:
1.        初始设置
2.        概述
3.        根据MySQL配置JBoss
4.        转换WebLogic的EJB应用
5.        在JBoss中部署EJB应用

版权声明:任何获得Matrix授权的网站,转载时请务必保留以下作者信息和链接
作者:feichangcai;feichangcai
原文:http://www.matrix.org.cn/resource/article/2006-11-08/WebLogic+JBoss_95a016ee-6ebe-11db-bdce-bdc029e475a1.Html
要害字:WebLogic;JBoss

初始设置
用MySQL数据库驱动程序类配置MySQL数据库的JDBC连接
1.        下载MySQL JDBC驱动程序.jar文件。
2.        下载并安装MySQL数据库服务器。
3.        下载并安装JBoss 4.0应用服务器。

    开发一个可用XSLT把WebLogic部署描述符转换成JBoss部署描述符的java应用程序。部署描述符同样可用XSLT工具进行转换。

概述
    在不作任何改动的情况下,为WebLogic开发的应用无法在JBoss中部署,因为JBoss应用服务器的部署描述符有别于WebLogic的部署描述符。在本指南中,我们将通过把WebLogic部署描述符转换成JBoss部署描述符,把一个在WebLogic中开发的实体EJB应用范例迁移到JBoss中。

    该应用范例由一个Catalog实体EJB构成。本文后的Resources部分有一个weblogic-jboss-resources.zip范例文件,里面存放有EJB的bean类(CatalogBean.java)、远程接口(Catalog.java)和本地接口(CatalogHome.java)。配置JBoss要用到MySQL开源数据库。要把WebLogic中的应用迁移到JBoss,不必改动实体EJB类,只需改动EJB部署描述符即可。

在JBoss中使用MySQL
   MySQL是一个适合开源项目和小型企业的开源数据库。用MySQL数据库配置JBoss需要作如下改动:

配置JBoss的Classpath
    根据MySQL配置JBoss 4.0,首先需要复制驱动程序类的.jar文件mysql-connector-java-3.0.9-stable-bin.jar到<JBoss>/server/default/lib目录。这里<JBoss>是你的JBoss应用服务器安装目录。lib目录中的.jar和.zip文件存在于JBoss服务器的Classpath中。

配置MySQL数据源
    要使用MySQL数据源,复制<JBoss>/docs/examples/jca/mysql-ds.xml到<JBoss>/server/default/deploy目录。在JBoss服务器启动时,存在于deploy目录下的数据源配置文件将被部署。对mysql-ds.xml配置文件的改动如下:
•设置<driver-class/>为com.mysql.jdbc.Driver,<connection-url/>为jdbc:mysql://localhost/<database>,这里的<database>指的是MySQL数据库。<database>值可命名为test——本文所创建的MySQL范例数据库。
•在jndi-name元素中指明数据源JDDI名。
•设定连接MySQL的用户名和密码。默认情况下,对于root用户名无需密码。
•设定type-mapping元素为mySQL。type-mapping元素指明了先前在standardjbosscmp-jdbc.xml部署描述符中定义的数据库类型映射。对于MySQL数据库,类型映射名为mySQL。

改动后的mysql-ds.xml就像这样:

<?xml version="1.0" encoding="UTF-8"?>
<datasources>
  <local-tx-datasource>
    <jndi-name>MySqlDS</jndi-name>
    <connection-url>jdbc:mysql://localhost/test</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>root</user-name>
    <passWord></password>
    <metadata>
         <type-mapping>mySQL</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>