熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

配置JBoss 4 JDBC連接

2013-11-23 20:26:00  來源: Java開源技術 

  Jboss 的開發人員版本是一個開源的應用服務器他把HypersonicDB作為他的缺省數據庫然而開發人員也許還要使用除了HypersonicDB以外其他種類的數據庫在這篇文章中我們將看到如何在Jboss上配置使用其他的數據庫
  
  簡介
  Jboss使用了JDBC配置文件來配置數據庫連接它為EJB和其它JEE應用提供了數據源(data source)進行訪問如果你要使用HypersonicDB以外的數據庫你就要修改這個配置文件這篇文章將著重講解下面的幾個部分
  Jboss的EJB部署描述符
  Oralce數據庫的配置
  MySQL數據庫的配置
  Sysbase數據庫的配置
  DB數據庫的配置
  Infomix數據庫的配置
  
  Jboss的EJB部署描述符
  standardjawsxml (位於X:\jboss\server\default\conf)是一個映射CMP 實體EJB的標准部署描述文件它用於配置CMP實體EJB你也可以使用jawsxml代替你可以把這個文件copy到ejb jar文件中的METAINF目錄下這個文件用於描述下面的信息
  描述一個數據源和映射類型
  描述EJB映射的表
  描述EJB的finder方法
  描述類型映射
  
  這裡的數據源描述的是一個JNDI名稱可以通過這個JNDI來獲得一個數據源連接池Jboss缺省的數據源使用的是HypersonicDB如果使用其他的數據源你需要修改jawsxml文件
  
  standardjbosscmpjdbcxml(位於X:\jboss\server\default\conf)是配置Jboss CMP容器的標准部署描述文件你也可以使用一個自定義的配置文件jbosscmpjdbcxml來代替它這個文件也放在EJBjar文件的METAINF目錄中缺省使用的還是HypersonicDB作為數據庫這裡也需要修改
  
  Oracle數據庫的配置
  Oracle以它的運行穩定和可靠成為了一個非常受歡迎的企業級數據庫要在Jboss 上配置使用Oracle的話我們要做的第一件事就是把Oracle的JDBC驅動程序復制到ClassPath下我們把這個JDBC驅動程序復制到server/default/lib目錄下為了使用Oracle的事務處理數據源我們還要把/docs/examples/jca/oraclexadsxml復制到/server/default/deploy目錄下如果使用的事非事務處理的數據源就把/docs/examples/jca/oracledsxml文件復制到/server/default/deploy目錄下
  
  下一步我們需要修改oracledexml配置文件其中的<driverclass/>標簽和<connectionurl/>標簽的設置如下
  
  Oracle OCI Type Driver
  
  Class: oraclejdbcdriverOracleDriver
  
  URL: jdbc:oracle:oci:@<database>
  
  Oracle OCI Thin Type Driver
  
  Class: oraclejdbcdriverOracleDriver
  
  URL: jdbc:oracle:thin:@<host>:<port>:<database> Oracle OCI XA Type Driver
  
  Class: oraclejdbcxaclientOracleXADataSource
  
  URL: jdbc:oracle:thin:@<host>:<port>:<database>
  
  Oracle OCI Type Driver
  
  Class: oraclejdbcdriverOracleDriver
  
  URL: jdbc:oracle:oci:@<database>
  
  在Connection URL中<host>是安裝Oracle的計算機主機名<port>是oracle數據庫的端口<database>是數據庫名稱下一步我們將修改standardjawsxml 或jawsxml配置文件並把<datasource> 和 <typemapping>元素這只為下面這樣
  
  <jaws> <datasource>java:/OracleDS</datasource> <typemapping>Oracle</typemapping> </jaws>
  
  下一步再修改standardjbosscmpjdbcxml 或 jbosscmpjdbcxml配置文件設置<datasource> 和 <datasourcemapping>元素使用Oracle
  
  <jbosscmpjdbc> <defaults> <datasource>java:/OracleDS</datasource> <datasourcemapping>Oracle</datasourcemapping> </defaults> </jbosscmpjdbc>
  
  最後我們需要修改loginconfigxml文件來使用Oracle下面是loginconfigxml文件的<applicationpolicy>元素
  
  <applicationpolicy name = OracleDbRealm> <authentication> <loginmodule code =
  
  orgjbossresourcesecurityConfiguredIdentityLoginModule
  
  flag = required> <moduleoption name = principal>sa</moduleoption> <moduleoption name = userName>sa</moduleoption> <moduleoption name = password></moduleoption> <moduleoption name =managedConnectionFactoryName> jbossjca:service=LocalTxCMname=OracleDS </moduleoption> </loginmodule> </authentication> </applicationpolicy>
  
  修改了oracledsxml standardjawsxml standardjbosscmpjdbcxml和 loginconfigxml 文件之後就可以再Jboss中使用Oracle了
  
  MySQL數據庫配置
  MySQL是一個開放源代碼的數據庫有很多開源項目和小型的社團都在使用它要在Jboss中使用MySQL的話首先要把MySQL的JDBC驅動放到CLASSPATH中同樣把它復制到/server/default/lib目錄下再把/docs/examples/jca/mysqldsxml復制到/server/default/deploy目錄下修改mysqldsxml文件設置<driverclass/>為 commysqljdbcDriver再把<connectionurl/>設置為jdbc:mysql://<mysqlhost>/<database>其中<mysqlhost>是數據庫主機名<database>是數據庫名
  
  然後需要設置standardjawsxml 或 jawsxml文件的<datasource>和<typemapping>元素
  
  <jaws> <datasource>java:/MySqlDS</datasource> <typemapping>mySql</typemapping> </jaws> 同樣也需要把standardjbosscmpjdbcxml 或 jbosscmpjdbcxml文件的<datasource> 和 <datasourcemapping>元素設置為下面這樣 <jbosscmpjdbc> <defaults> <datasource>java:/MySqlDS</datasource> <datasourcemapping>mySql</datasourcemapping> </defaults> </jbosscmpjdbc> 最後再修改loginconfigxml文件來使用MySQL <applicationpolicy name = MySqlDbRealm> <authentication> <loginmodule code = orgjbossresourcesecurityConfiguredIdentityLoginModule
  
  flag = required> <moduleoption name =principal>sa</moduleoption> <moduleoption name =userName>sa</moduleoption> <moduleoption name =password></moduleoption> <moduleoption name =managedConnectionFactoryName> jbossjca:service=LocalTxCMname=MySqlDS </moduleoption> </loginmodule> </authentication> </applicationpolicy> 修改了mysqldsxml standardjawsxml standardjbosscmpjdbcxml和 loginconfigxml 文件就可以在Jboss上使用MySQL了
  
  SysBase數據庫配置
  Sybase Adaptive Server Enterprises(ASE)是Sysbase公司的數據庫服務器ASE可以在Unix和linux平台上使用同樣我們要把它的數據庫驅動放到CLASSPATH中把它復制
  
  到/server/default/lib目錄下然後把/docs/examples/jca/sybasedsxml 復制到/server/default/deploy目錄下修改sybasedsxml文件把<driverclass/>設置為 comsybasejdbcjdbcSybDriver再把<connectionurl/>設置為 jdbc:sybase:Tds:<host>:<port>/<database>其中<host><port><database>分別為主機名端口名和數據庫名同樣需要修改standardjawsxml 或 jawsxml 文件的 <datasource> 和 <typemapping> 元素 <jaws> <datasource>java:/SybaseDS</datasource> <typemapping>Sybase</typemapping> </jaws> 再修改standardjbosscmpjdbcxml 或 jbosscmpjdbcxml 文件的 <datasource> 和 <datasourcemapping>元素 <jbosscmpjdbc>
  
  <defaults> <datasource>java:/SybaseDS</datasource> <datasourcemapping>Sybase</datasourcemapping> </defaults>
  
  </jbosscmpjdbc> 最後修改loginconfigxml 文件來使用Sysbase數據庫設置 <applicationpolicy/> 元素
  
  <applicationpolicy name = SybaseDbRealm>
  
  <authentication> <loginmodule code =
  
  orgjbossresourcesecurityConfiguredIdentityLoginModule flag = required>
  
  <moduleoption name =principal>sa</moduleoption> <moduleoption name = userName>sa</moduleoption>
  
  <moduleoption name = password></moduleoption> <moduleoption name = managedConnectionFactoryName> jbossjca:service=LocalTxCMname=SybaseDS
  
  </moduleoption> </loginmodule> </authentication> </applicationpolicy> 修改了sybasedsxml standardjawsxml standardjbosscmpjdbcxml
  
  loginconfigxml文件後就可以在JBOSS中使用Sysbase了
  
  DB數據庫配置
  IBM的DB是一個完善使用方便的數據庫服務器它可以在LinuxUNIX和Windows平台上使用在 JBOSS上使用DB只要把dbjavaz
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28482.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.