麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

JBoss EJB應用程序遷移到WebLogic上

2019-11-18 13:02:39
字體:
來源:轉載
供稿:網友

  在J2EE項目的開發階段,開發人員通常使用的是JBoss開源應用服務器。而在生產階段,商業應用服務器BEA WebLogic Server因其增強的特性成為不錯的選擇。遺憾的是,在JBoss中開發的應用程序不能在WebLogic Server上直接部署,需要進行修改。
  
  原因是WebLogic Server的部署描述符與JBoss的部署描述符不同。將應用程序遷移到WebLogic上的方法是把特定于供給商的部署描述符轉換為WebLogic部署描述符。在本文中,我們將把一個在JBoss中開發的EJB應用程序遷移到WebLogic應用服務器上,其中使用的數據庫MySQL
  
  初步安裝
  
  下載和安裝BEA WebLogic Server(www.bea.com/framework.jsp?CNT=overview.htm &FP=/content/PRodUCts/weblogic/server)。創建一個服務器域。下載MySQL JDBC驅動程序jar文件(www.mysql.com/products/connector/j/)和MySQL數據庫服務器(www.mysql.com/products/mysql/)。開發一個java應用程序或獲取一個XSLT實用工具,使用XSLT把JBoss部署描述符轉換為WebLogic部署描述符。
  
  在部署描述符轉換前,在JBoss中開發的應用程序不能在WebLogic中部署。在本文中,我們將通過轉換部署描述符的方法,把一個在JBoss中開發的實體EJB應用程序示例遷移到WebLogic應用服務器上。
  
  示例應用程序包含一個Catalog實體EJB。清單1中顯示的是該EJB的bean類(CatalogBean.java)。遠程接口(Catalog.java)和home接口(CatalogHome.java)顯示在清單2和清單3中。把JBoss EJB應用程序部署到WebLogic中并不需要修改實體EJB類,只需要修改該EJB的部署描述符。
  
  清單1:CatalogBean.java
  
  import javax.ejb.*;
  
  abstract public class CatalogBean implements EntityBean {
  
  private EntityContext ctx;
  
  public CatalogBean() {};
  
  public void setEntityContext(EntityContext ctx) {
  
  this.ctx = ctx;
  }
  
  public void unsetEntityContext() {
  this.ctx = null;
  
  }
  
  abstract public String getCatalogId();
  abstract public void setCatalogId(String catalogId);
  
  abstract public String getJournal();
  abstract public void setJournal(String journal);
  
  abstract public String getPublisher();
  abstract public void setPublisher(String publisher);
  
  public void ejbActivate() {
  
  }
  
  public void ejbPassivate() {
  
  }
  
  public void ejbLoad() {
  
  }
  
  public void ejbStore() {
  
  }
  
  public void ejbRemove()
  throws RemoveException
  {
  
  }
  
  public String ejbCreate(String catalogId)
  throws CreateException
  {
  
  setCatalogId(catalogId);
  
  return null;
  }
  
  public void ejbPostCreate(String catalogId)
  {
  
  }
  
  }
  
  清單2:Catalog.java
  
  import java.rmi.RemoteException;
  import javax.ejb.*;
  
  public interface Catalog extends EJBObject {
  
  public String getCatalogId()
  throws RemoteException;
  
  public String getJournal()
  throws RemoteException;
  
  public String getPublisher()
  throws RemoteException;
  
  public void setJournal(String journal)
  throws RemoteException;
  
  public void setPublisher(String publisher)
  throws RemoteException;
  
  }
  清單3:CatalogHome.java
  
  import javax.ejb.CreateException;
  import javax.ejb.EJBHome;
  import javax.ejb.FinderException;
  import java.rmi.RemoteException;
  
  public interface CatalogHome extends EJBHome {
  
  public Catalog create(String catalogId)
  throws CreateException, RemoteException;
  
  public Catalog findByPrimaryKey(String catalogId)
  throws FinderException, RemoteException;
  
  }
  配置WebLogic JDBC
  
  本小節描述在WebLogic Server上配置JDBC連接和MySQL數據庫的方法。首先配置一個JDBC連接池,接下來配置用于訪問JDBC連接池的JNDI數據源,然后把MySQL數據庫驅動程序jar文件(mysql-connector-java-3.0.16-ga-bin.jar)添加到示例服務器的CLASSPATH變量中。WebLogic Server的CLASSPATH變量是在<BEA>/user_projects/domains/mydomain/startWebLogic腳本文件中進行設置的。雙擊該腳本文件,啟動WebLogic示例服務器。服務器在端口7001啟動。通過URL http://localhost:7001/console來登錄WebLogic治理控制臺(Administration Console)。在顯示出來的治理控制臺登錄頁面上輸入用戶名和口令,就可以登錄到治理控制臺。
  
  在治理控制臺中選擇Services>JDBC節點。要配置JDBC連接池,右擊Connection Pools節點,選擇Configure a new JDBCConnectionPool。在Choose database frame displayed中選擇MySQL作為Database Type(數據庫類型),選擇MySQL's Driver (Type 4)作為Database Driver(數據庫驅動程序)。單擊Continue按鈕。接著指定JDBC連接的連接屬性。在Database Name欄指定示例MySQL數據庫的名字test,在Host Name欄指定localhost,在Database User Name欄指定root。用root用戶名登錄MySQL數據庫不需要口令,但WebLogic Server需要為用戶名指定一個口令。單擊Continue按鈕繼續。
  
  在Test database connection框中的Driver Classname欄指定MySQL驅動程序com.mysql.jdbc.Driver,該驅動程序用于建立與MySQL數據庫的連接。在URL欄指定jdbc:mysql://localhost/test作為連接數據庫的URL。單擊Test Driver Configuration按鈕,測試JDBC到數據庫的連接。假如已建立連接,會顯示內容為“connection successful”的消息。在Create and deploy框中,選擇將要部署連接池的服務器。單擊Create and deploy按鈕,部署JDBC連接池到服務器上。配置好的連接會部署到示例服務器上,同時該連接池的節點被添加到JDBC>Connection Pools節點中。要修改連接池配置,選擇該連接池節點,并修改各個選項卡上的設置:General、Target and Deploy、Monitoring、Control、Testing、Connections。
  
  接下來,要配置WebLogic Server上的數據源。右擊Services>JDBC節點,選擇Configure a new JDBCTxDataSource,指定一個數據源名稱,在JNDI Name欄為數據源指定JNDI名稱,例如MySQLDS。單擊Continue按鈕繼續。在Connect to connection pool框中,從連接池列表中選擇前一節所配置的連接池,單擊Continue按鈕繼續。在Target the data source框中選擇一個服務器作為數據源的目標服務器,然后單擊Create按鈕。配置好的數據源會部署到示例服務器上,該數據源的節點被添加到數據源節點中。要修改數據源,選擇該數據源的節點,并修改各個選項卡上的設置,包括Configuration、Target和Deploy。該數據源可以通過在數據源配置中所指定的JNDI名稱MySQLDS來獲取。
  
  轉換JBoss EJB應用程序
  
  前一節已經在WebLogic Server上配置了MySQL數據庫。下面我們將把JBoss EJB應用程序轉換成WebLogic EJB應用程序,這涉及到部署描述符的轉換。JBoss實體EJB應用程序由以下部分組成;EJB部署描述符(ejb-jar.xml、jboss.xml和jbosscmp-jdbc.xml)、bean類(CatalogBean.java)、遠程接口(Catalog.java)和home接口(CatalogHome.java)。
  
  要在JBoss服務器上部署實體EJB,應該創建一個EJB JAR文件。該文件結構如下:
  
  META-INF/
  ejb-jar.xml
  jboss.xml
  jbosscmp-jdbc.xml
  CatalogBean.class
  Catalog.class
  CatalogHome.class
  部署描述符中指定了EJB的結構化信息和應用程序匯編信息。結構化信息中包含將這個EJB指定為會話EJB還是實體EJB。ejb-jar.xml部署描述符中的應用程序匯編信息是在assembly-descriptor元素中指定的。JBoss中實體EJB的部署描述符為ejb-jar.xml、jboss.xml和jbosscmp-jdbc.xml,而WebLogic中對應的部署描述符依次是ejb-jar.xml、weblogic-ejb-jar.xml和weblogic-cmp-rdbms-jar.xml。下面我們將介紹這些文件間的轉換。
  
  ejb-jar.xml部署描述符對于WebLogic和JBoss是相同的,清單4顯示了示例實體EJB的該部署描述符,其中定義了一個名為Catalog的實體EJB,它包含3個CMP字段:catalogId、journal和publisher,主鍵字段是catalogId。
  
  清單4:ejb-jar.xml
  
  <?xml version="1.0"?>
  <!DOCTYPE ejb-jar PUBLIC
  "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
  "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
  <ejb-jar>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产好片无限资源 | 欧美巨根 | 国产精品99久久99久久久二 | 黄色片网站免费在线观看 | 日韩视频一区在线 | 在线中文字幕不卡 | 久久久久久久黄色片 | 亚洲视频网 | 91网视频| 色综合精品 | 国产老师做www爽爽爽视频 | 欧洲成人精品 | 国内精品国产三级国产a久久 | 国产羞羞视频在线免费观看 | 一区在线免费视频 | 毛片成人 | 性aaa| 羞羞答答影院 | 久久久www视频 | 色婷婷久久久亚洲一区二区三区 | 牛牛视频在线 | 久久精品亚洲精品国产欧美kt∨ | 毛片在线播放视频 | 免费久久久 | 香蕉久草在线 | 最新欧美精品一区二区三区 | 午夜视频免费播放 | 精品国产一区二区三区四 | 久久av免费 | 宅男噜噜噜66一区二区 | 久色精品视频 | 国产永久免费观看 | 久久久久夜色精品国产老牛91 | 精品一区二区在线播放 | 精品中文视频 | 久久精品视频免费观看 | 91 成人 | 法国性xxx精品hd | 欧美一级黄色影院 | 99精品国产视频 | 欧美性生活视频免费看 |