首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

JBoss JDBC 資料源配置大全:Oracle 與 MySQL 實戰部署指南

     編輯:Java 相關知識

JBoss 核心 CMP 配置檔案

  • standardjaws.xml (或 jaws.xml):CMP 實體 Bean 標準部署描述符,定義資料源 JNDI 名稱與類型映射。位於 $JBOSS_HOME/server/default/conf,可複製至 ejb-jar/META-INF 覆蓋。
  • standardjbosscmp-jdbc.xml (或 jbosscmp-jdbc.xml):JBoss CMP 引擎配置,同樣定義資料源與類型映射。
  • 預設使用 HypersonicSQL,生產環境必須修改為目標資料庫。

一、Oracle 資料庫配置步驟

  1. JDBC 驅動部署:複製 ojdbc14.jar (或更新版) 至 server/default/lib。
  2. 資料源定義:
    • XA 資料源 (分散式交易):複製 docs/examples/jca/oracle-xa-ds.xml 至 server/default/deploy。
    • 本地交易資料源:複製 oracle-ds.xml 至 deploy。
  3. 修改 *-ds.xml 關鍵配置:
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <connection-url>jdbc:oracle:thin:@<host>:<port>:<SID></connection-url>
    <user-name>scott</user-name>
    <password>tiger</password>
    <jndi-name>java:/OracleDS</jndi-name>
    支援 OCI (Type 2) 與 Thin (Type 4) 驅動,XA 類別為 oracle.jdbc.xa.client.OracleXADataSource。
  4. 更新 CMP 映射檔:standardjaws.xml / jaws.xml 及 standardjbosscmp-jdbc.xml / jbosscmp-jdbc.xml 中設定:
    <datasource>java:/OracleDS</datasource>
    <datasource-mapping>Oracle8</datasource-mapping>
  5. 配置安全登入模組:修改 login-config.xml:
    <application-policy name="OracleDbRealm">
      <authentication>
        <login-module code="org.jboss.resource.security.ConfiguredIdentityLoginModule" flag="required">
          <module-option name="principal">scott</module-option>
          <module-option name="userName">scott</module-option>
          <module-option name="password">tiger</module-option>
          <module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=OracleDS</module-option>
        </login-module>
      </authentication>
    </application-policy>

二、MySQL 資料庫配置步驟

  1. JDBC 驅動:mysql-connector-java--bin.jar 複製至 server/default/lib。
  2. 資料源定義:複製 docs/examples/jca/mysql-ds.xml 至 deploy,修改:
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <connection-url>jdbc:mysql://<host>:3306/<dbname>?useUnicode=true&characterEncoding=utf8</connection-url>
    <jndi-name>java:/MySQLDS</jndi-name>
  3. 更新 CMP 映射:
    <datasource>java:/MySQLDS</datasource>
    <datasource-mapping>MySQL</datasource-mapping>
  4. 安全登入配置:login-config.xml 添加 MySQLRealm,managedConnectionFactoryName 指向 MySQLDS。

驗證與常見坑

  • 啟動 JBoss 檢查控制台:Bound data source 'java:/OracleDS' 確認綁定成功。
  • 測試 JNDI 查找:new InitialContext().lookup("java:/OracleDS") 獲取 DataSource。
  • CMP 實體 Bean 需在 jbosscmp-jdbc.xml 對應 entity-command (如 oracle-sequence)。
  • MySQL 需注意 autoReconnect=true、時區配置 serverTimezone=UTC。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved