六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

<>


標(biāo)簽:把WebLogic EJB程序遷移到JBoss上 

把WebLogic EJB程序遷移到JBoss上

[摘要]WebLogic服務(wù)器是一款頂級(jí)的商業(yè)應(yīng)用程序服務(wù)器。但是對(duì)于小規(guī)模的開(kāi)發(fā)者來(lái)說(shuō),開(kāi)發(fā)源代碼的、基于標(biāo)準(zhǔn)的應(yīng)用程序服務(wù)器JBoss是可以用來(lái)替換類似WebLogic或WebSphere等商業(yè)應(yīng)用程序服務(wù)器的。不幸的是,在WebLogic中開(kāi)發(fā)的應(yīng)用程序不能在JBoss中部署。JBoss遷移服務(wù)為我...

  WebLogic服務(wù)器是一款頂級(jí)的商業(yè)應(yīng)用程序服務(wù)器。但是對(duì)于小規(guī)模的開(kāi)發(fā)者來(lái)說(shuō),開(kāi)發(fā)源代碼的、基于標(biāo)準(zhǔn)的應(yīng)用程序服務(wù)器JBoss是可以用來(lái)替換類似WebLogic或WebSphere等商業(yè)應(yīng)用程序服務(wù)器的。不幸的是,在WebLogic中開(kāi)發(fā)的應(yīng)用程序不能在JBoss中部署。JBoss遷移服務(wù)為我們提供了把應(yīng)用程序遷移到JBoss上的支持。作為代替,通過(guò)把廠商特定的部署文件信息遷移到JBoss上,是可能把應(yīng)用程序遷移到JBoss上的。為了演示如何把應(yīng)用程序遷移到JBoss的過(guò)程,我們將把一個(gè)在WebLogic中開(kāi)發(fā)的帶有Oracle數(shù)據(jù)庫(kù)的EJB應(yīng)用程序遷移到帶有MySQL數(shù)據(jù)庫(kù)的JBoss應(yīng)用程序服務(wù)器上。

  預(yù)安裝軟件

  為了配置MySQL數(shù)據(jù)庫(kù)的JDBC連接,需要下載MySQL數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序類。

  1.下載MySQL JDBC驅(qū)動(dòng)程序.jar文件

  2.下載和安裝MySQL數(shù)據(jù)庫(kù)服務(wù)器

  3.下載和安裝JBoss 4.0應(yīng)用程序服務(wù)器

  開(kāi)發(fā)一個(gè)Java應(yīng)用程序,我們將使用它和XSLT把WebLogic部署文件轉(zhuǎn)換為JBoss部署文件。該部署文件也可以使用XSLT工具進(jìn)行轉(zhuǎn)換。

  概述

  在不進(jìn)行修改的時(shí)候,WebLogic中開(kāi)發(fā)的應(yīng)用程序是不能部署在JBoss中的。JBoss應(yīng)用程序的部署文件與WebLogic的部署文件不同。在本文中,我們將把一個(gè)在WebLogic中開(kāi)發(fā)的實(shí)體(entity)EJB應(yīng)用程序示例遷移到JBoss中,遷移的方法是把WebLogic部署文件轉(zhuǎn)換為JBoss部署文件。

  示例應(yīng)用程序包含一個(gè)Catalog實(shí)體EJB。該EJB的bean類(CatalogBean.java)、遠(yuǎn)程接口(Catalog.java)、和home接口(CatalogHome.java)都在本文下載鏈接的weblogic-jboss-resources.zip示例文件中。我們將使用MySQL開(kāi)放源代碼數(shù)據(jù)庫(kù)來(lái)配置JBoss應(yīng)用程序。把WebLogic EJB應(yīng)用程序部署到JBoss中并不需要修改實(shí)體EJB類,只需要修改該EJB的部署文件。

  配置JBoss和MySQL

  MySQL是一個(gè)開(kāi)放源代碼的數(shù)據(jù)庫(kù),它適合于開(kāi)放源代碼的項(xiàng)目和小型組織。為了配置JBoss和MySQL數(shù)據(jù)庫(kù)需要進(jìn)行下面一些修改。

  配置JBoss類路徑

  為了使用JBoss 4.0和MySQL,我們首先要把驅(qū)動(dòng)程序類.jar文件(mysql-connector-java-3.0.9-stable-bin.jar)復(fù)制到<JBoss>/server/default/lib目錄中。其中的<JBoss>是JBoss應(yīng)用程序服務(wù)器安裝的目錄。lib目錄的.jar和.zip文件都包含在JBoss服務(wù)器的Classpath(類路徑)中。

  配置MySQL數(shù)據(jù)源

  為了使用MySQL數(shù)據(jù)源,需要把<JBoss>/docs/examples/jca/mysql-ds.xml復(fù)制到<JBoss>/server/default/deploy目錄中。當(dāng)JBoss服務(wù)器啟動(dòng)的時(shí)候,deploy目錄中的數(shù)據(jù)源配置文件就被部署好了。依照下面的步驟修改mysql-ds.xml配置文件:

  · 把<driver-class/>設(shè)置為com.mysql.jdbc.Driver,<connection-url/>設(shè)置為jdbc:mysql://localhost/<database>,其中<database>是MySQL數(shù)據(jù)庫(kù)。<database>的值可以設(shè)置為test,它是MySQL中的示例數(shù)據(jù)庫(kù)。

  · 在jndi-name元素中指定數(shù)據(jù)源的JNDI名稱。

  · 指定連接MySQL數(shù)據(jù)庫(kù)的用戶名和密碼。在默認(rèn)情況下,root用戶名不需要密碼。

  · 把type-mapping元素指定為mySQL。type-mapping元素指定了standardjbosscmp-jdbc.xml部署文件中預(yù)定義的數(shù)據(jù)庫(kù)類型映射關(guān)系。對(duì)于MySQL數(shù)據(jù)庫(kù)來(lái)說(shuō),類型映射是mySQL。

  修改過(guò)的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>

  我們可以通過(guò)提供數(shù)據(jù)源JNDI名稱從數(shù)據(jù)源獲取一個(gè)JDBC連接:

  InitialContext initialContext = new InitialContext();
  javax.sql.DataSource ds = (javax.sql.DataSource)
  initialContext.lookup("java:/MySqlDS");
  java.sql.Connection conn = ds.getConnection();

  配置登錄信息

  現(xiàn)在我們根據(jù)MySQL數(shù)據(jù)庫(kù)設(shè)置來(lái)修改login-config.xml配置文件。為了登錄到MySQL數(shù)據(jù)庫(kù),應(yīng)用程序策略MySqlDbRealm是必要的。給login-config.xml添加下面的<application-policy/>元素:

  <application-policy name = "MySqlDbRealm">
  <authentication>
  <login-module code =
  "org.jboss.resource.security.ConfiguredIdentityLoginModule"
  flag = "required">
  <module-option name ="principal"></module-option>
  <module-option name ="userName">root</module-option>
  <module-option name ="password"></module-option>
  <module-option name ="managedConnectionFactoryName">
  jboss.jca:service=LocalTxCM,name=MySqlDS
  </module-option>
  </login-module>
  </authentication>
  </application-policy>


  通過(guò)修改mysql-ds.xml和login-config.xml文件,JBoss 4.0服務(wù)器已經(jīng)被配置好了,可以使用MySQL數(shù)據(jù)庫(kù)了。除了前面的一些特定的設(shè)置之外,可能還需要對(duì)JBoss部署文件和JBoss JDBC配置文件作一些修改。

  如果"建立表"選項(xiàng)被選中(通過(guò)把jbosscmp-jdbc.xml中的create-table元素設(shè)置為true)用于部署CMP實(shí)體EJB,并且MySQL表的主鍵(或唯一鍵)的長(zhǎng)度超過(guò)了500字節(jié),應(yīng)用程序的部署過(guò)程會(huì)在MySQL數(shù)據(jù)庫(kù)中生成一個(gè)SQL語(yǔ)法錯(cuò)誤。對(duì)于java.lang.String類型的CMP字段,我們可以通過(guò)在standardjbosscmp-jdbc.xml部署文件的mySQL類型映射中把用于Java類型java.lang.String的SQL類型設(shè)置為較低的VARCHAR值來(lái)減小主鍵(或唯一鍵)的長(zhǎng)度。另一個(gè)可能出現(xiàn)的問(wèn)題是jbosscmp-jdbc.xml部署文件中的column-name元素。如果某個(gè)MySQL表的列名與MySQL保留字相同,在JBoss中部署J2EE應(yīng)用程序的時(shí)候會(huì)產(chǎn)生一個(gè)錯(cuò)誤。解決這個(gè)問(wèn)題的方法是使列名與MySQL保留字不同。

   轉(zhuǎn)換WebLogic EJB應(yīng)用程序

  在建立起使用MySQL的JBoss服務(wù)器之后,你現(xiàn)在必須把該WebLogic EJB應(yīng)用程序轉(zhuǎn)換為JBoss EJB應(yīng)用程序,這就涉及到部署文件的修改。WebLogic實(shí)體EJB應(yīng)用程序由EJB部署文件(ejb-jar.xml、weblogic-ejb-jar.xml和weblogic-cmp-rdbms-jar.xml),bean類(CatalogBean.java)、遠(yuǎn)程接口(Catalog.java)和home接口(CatalogHome.java)組成。為了在WebLogic服務(wù)器上部署實(shí)體EJB,需要建立一個(gè)EJB .jar文件,這個(gè)EJB .jar文件的結(jié)構(gòu)如下:

  META-INF/
  ejb-jar.xml
  weblogic-ejb-jar.xml
  weblogic-cmp-rdbms-jar.xml
  CatalogBean.class
  Catalog.class
  CatalogHome.class

  EJB的結(jié)構(gòu)信息和應(yīng)用程序匯編信息都在部署文件中指定。結(jié)構(gòu)信息包括說(shuō)明EJB是對(duì)話EJB還是實(shí)體EJB。ejb-jar.xml部署文件中的應(yīng)用程序匯編信息在assembly-descriptor元素中指定。WebLogic中該實(shí)體EJB部署文件包括ejb-jar.xml、weblogic-ejb-jar.xml和weblogic-cmp-rdbms-jar.xml。相應(yīng)的JBoss部署文件是ejb-jar.xml、jboss.xml和jbosscmp-jdbc.xml。這些文件之間的轉(zhuǎn)換如下所示。

  ejb-jar.xml部署文件對(duì)于WebLogic和JBoss來(lái)說(shuō)都是一樣的,除了multiplicity元素之外。JBoss服務(wù)器的ejb-jar.xml中的multiplicity元素需要大寫(xiě),例如One或Many,而不是one或many。

  示例實(shí)體EJB的ejb-jar.xml部署文件包含在示例代碼中。示例ejb-jar.xml定義了一個(gè)叫做"Catalog"的實(shí)體EJB。這個(gè)示例EJB擁有CMP字段catalogId、journal和publisher。其主鍵字段是catalogId。

  把weblogic-ejb-jar.xml轉(zhuǎn)換為jboss.xml

  weblogic-ejb-jar.xml和jboss.xml部署文件都是EJB廠商的特定部署文件。為了把WebLogic EJB應(yīng)用程序部署到JBoss應(yīng)用程序服務(wù)器上,必須把weblogic-ejb-jar.xml部署文件轉(zhuǎn)換為jboss.xml。

  weblogic-ejb-jar.xml中的根元素是weblogic-ejb-jar。jboss.xml中的根元素是jboss。在jboss.xml和weblogic-ejb-jar.xml部署文件中指定某個(gè)EJB的JNDI名稱的元素是jndi-name或local-jndi-name。本文中的示例實(shí)體EJB的weblogic-ejb-jar.xml部署文件也包含在示例代碼中。weblogic-ejb-jar.xml部署文件的DOCTYPE元素是:

  <!DOCTYPE weblogic-ejb-jar PUBLIC
  "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN"
  "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd" >
  jboss.xml部署文件的DOCTYPE是:
  <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 4.0//EN"
  "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">

  我們通過(guò)一個(gè)自定義的XSLT樣式表jboss.xslt(包含在示例代碼中)把部署文件weblogic-ejb-jar.xml轉(zhuǎn)換為jboss.xml。該樣式表建立jboss.xml,它是與WebLogic的weblogic-ejb-jar.xml部署文件相當(dāng)?shù)腏Boss文件。使用jboss.xslt樣式表所生成的jboss.xml文件也包含在示例代碼中。

  把weblogic-cmp-rdbms-jar.xml轉(zhuǎn)換為jbosscmp-jdbc.xml

  weblogic-cmp-rdbms-jar.xml部署文件指定了CMP實(shí)體EJB的數(shù)據(jù)庫(kù)持續(xù)信息。weblogic-cmp-rdbms-jar.xml文件包含實(shí)體EJB的表名稱、連接到數(shù)據(jù)庫(kù)的數(shù)據(jù)源和與該實(shí)體EJB CMP字段對(duì)應(yīng)的列。示例實(shí)體EJB的weblogic-cmp-rdbms-jar.xml部署文件包含在可以下載的.zip文件中。指定CMP視圖EJB持續(xù)信息的JBoss部署文件是jbosscmp-jdbc.xml。

  weblogic-cmp-rdbms-jar.xml的根元素是weblogic-rdbms-jar;jbosscmp-jdbc.xml的根元素是jbosscmp-jdbc。weblogic-cmp-rdbms-jar.xml文件中指定連接到數(shù)據(jù)庫(kù)的數(shù)據(jù)源的data-source-name元素與jbosscmp-jdbc.xml部署文件中的datasource元素功能相當(dāng)。weblogic-cmp-rdbms-jar.xml指定實(shí)體EJB CMP字段與數(shù)據(jù)庫(kù)表的列之間映射關(guān)系的field-map元素與jbosscmp-jdbc.xml中的cmp-field元素功能相當(dāng)。weblogic-cmp-rdbms-jar.xml中指定列名的dbms-column元素與jbosscmp-jdbc.xml中的column-name元素功能相當(dāng)。weblogic-cmp-rdbms-jar.xml部署文件的DOCTYPE是:

  <!DOCTYPE weblogic-rdbms-jar PUBLIC
  '-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB RDBMS Persistence//EN'
  'http://www.bea.com/servers/wls810/dtd/weblogic-rdbms20-persistence-810.dtd'>
  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">


  我們使用自定義的XSLT樣式表jbosscmp-jdbc.xslt(包含在示例代碼中)把部署文件weblogic-cmp-rdbms-jar.xml轉(zhuǎn)換為jbosscmp-jdbc.xml。該樣式表建立jbosscmp-jdbc.xml,它是與WebLogic的weblogic-cmp-rdbms-jar.xml部署文件功能相當(dāng)?shù)腏Boss文件。jbosscmp-jdbc.xml也包含下載在.zip文件中。

  WebLogic部署文件的DTD與JBoss部署文件的不同。使用自定義的XSLT的時(shí)候,如果部署文件中還出現(xiàn)了一些額外的元素,可能還需要做進(jìn)一步的修改,可以把WebLogic部署文件轉(zhuǎn)換為JBoss部署文件。在下面的部分中,我們將在JBoss服務(wù)器上部署這個(gè)EJB應(yīng)用程序。

  在JBoss中部署該EJB應(yīng)用程序

  把WebLogic EJB部署文件轉(zhuǎn)換為JBoss部署文件之后,你必須建立一個(gè)心的EJB .jar文件以部署到JBoss服務(wù)器上。該JBoss .jar文件的結(jié)構(gòu)如下:

  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復(fù)制到META-INF目錄中。使用jar工具從JBoss部署文件、類和接口中建立一個(gè).jar文件。

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

  部署該JBoss實(shí)體EJB應(yīng)用程序的過(guò)程是,把該.jar文件(EntityEJB.jar)復(fù)制到<JBoss>\server\default\deploy目錄(其中<JBoss>是JBoss安裝的目錄)中。當(dāng)服務(wù)器啟動(dòng)的時(shí)候,該EJB應(yīng)用程序就在JBoss服務(wù)器上面部署好了。JBoss應(yīng)用程序服務(wù)器中的部署(deploy)目錄與WebLogic應(yīng)用程序服務(wù)器中的應(yīng)用程序(applications)目錄對(duì)應(yīng)。

  結(jié)論

  通過(guò)轉(zhuǎn)換部署文件可以把WebLogic中部署的實(shí)體EJB應(yīng)用程序遷移到JBoss應(yīng)用程序服務(wù)器上。使用相似的步驟,通過(guò)把weblogic.xml 部署文件轉(zhuǎn)換為jboss-web.xml ,也可以把WebLogic J2EE Web應(yīng)用程序遷移到JBoss上。

主站蜘蛛池模板: 天天看天天色 | 天天干天天干天天色 | 日本在线www | 日本免费不卡在线一区二区三区 | 亚洲美女视频一区 | 色橹橹高清视频在线播放 | 日韩中文字幕视频在线观看 | 中文字幕色婷婷在线视频 | 亚洲人色 | 亚洲h视频在线观看 | 手机看片91精品一区 | 亚洲宅男天堂a在线 | 日本高清无卡码一区二区久久 | 天堂av2017男人的天堂 | 日韩三级伦理在线 | 中文字幕在线观看不卡视频 | 视频在线日韩 | 天天操天天摸天天碰 | 色综合 成人| 日韩欧美不卡视频 | 四虎影视www四虎免费 | 一级aa免费视频毛片 | 欧美又大粗又爽又黄大片视频黑人 | 亚洲第一网站快活影院 | 色接久久 | 青青青视频免费线看 视频 青青青视频免费观看 | 亚欧免费视频一区二区三区 | 网络色综合久久 | 天天草狠狠干 | 香蕉app在线观看免费版 | 欧美一级在线免费观看 | 日韩精品首页 | 日韩国产三级 | 无人在线观看完整免费版视频 | 四虎影视免费永久在线观看黄 | 亚洲男人的天堂在线播放 | 一二三四在线观看高清在线观看一 | 日韩精品一区二区三区中文在线 | 日本一区二区三区在线观看视频 | 亚洲a在线播放 | 日韩精品一区二区三区不卡 |