B.3. JDBC ドライバーの使用
B.3.1. コアモジュールとしての JDBC ドライバーのインストール リンクのコピーリンクがクリップボードにコピーされました!
このタスクを実行する前に、以下の前提条件を満たしている必要があります。
- データベースのベンダーから JDBC ドライバーをダウンロードする必要があります。JDBC ドライバーをダウンロードする場所の一覧は「JDBC ドライバーをダウンロードできる場所」を参照してください。
- アーカイブを展開します。
手順B.1 コアモジュールとしての JDBC ドライバーのインストール
EAP_HOME/modules/ディレクトリー下にファイルパス構造を作成します。たとえば、MySQL JDBC ドライバーの場合には、EAP_HOME/modules/com/mysql/main/のようなディレクトリー構造を作成します。- JDBC ドライバー JAR を
main/サブディレクトリーにコピーします。 main/サブディレクトリーに、module.xmlファイルを作成します。以下は、module.xmlファイルの例です。<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.0" name="com.mysql"> <resources> <resource-root path="mysql-connector-java-5.1.15.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>- サーバーを起動します。
- 管理 CLI を起動します。
- CLI コマンドを実行して JDBC ドライバーモジュールをサーバー設定に追加します。選択するコマンドは、JDBC ドライバー JAR にある
/META-INF/services/java.sql.Driverファイルにリストされたクラスの数によって異なります。たとえば、MySQL 5.1.20 JDBC JAR 内の/META-INF/services/java.sql.Driverファイルは以下の 2 つのクラスをリストします。複数のエントリーがある場合は、ドライバークラスの名前も指定する必要があります。これを行わないと、以下のようなエラーが発生します。com.mysql.jdbc.Drivercom.mysql.fabric.jdbc.FabricMySQLDriver
JBAS014749: Operation handler failed: Service jboss.jdbc-driver.mysql is already registered- 1 つのクラスエントリーを含む JDBC JAR に対して CLI コマンドを実行します。
/subsystem=datasources/jdbc-driver=DRIVER_NAME:add(driver-name=DRIVER_NAME,driver-module-name=MODULE_NAME,driver-xa-datasource-class-name=XA_DATASOURCE_CLASS_NAME)例B.1 1 つのドライバークラスを持つ JDBC JAR に対するスタンドアロンモードの CLI コマンドの例
/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource)例B.2 1 つのドライバークラスを持つ JDBC JAR に対するドメインモードの CLI コマンドの例
/profile=ha/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource) - 複数のクラスエントリーを含む JDBC JAR に対して CLI コマンドを実行します。
/subsystem=datasources/jdbc-driver=DRIVER_NAME:add(driver-name=DRIVER_NAME,driver-module-name=MODULE_NAME,driver-xa-datasource-class-name=XA_DATASOURCE_CLASS_NAME, driver-class-name=DRIVER_CLASS_NAME)例B.3 複数のドライバークラスエントリーを持つ JDBC JAR に対するスタンドアロンモードの CLI コマンドの例
/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource, driver-class-name=com.mysql.jdbc.Driver)例B.4 複数のドライバークラスエントリーを持つ JDBC JAR に対するドメインモードの CLI コマンドの例
/profile=ha/subsystem=datasources/jdbc-driver=mysql:add(driver-name=mysql,driver-module-name=com.mysql,driver-xa-datasource-class-name=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource, driver-class-name=com.mysql.jdbc.Driver)
JDBC ドライバーがインストールされ、コアモジュールとして設定されます。アプリケーションのデータソースが JDBC ドライバーを参照できる状態になります。
B.3.2. JDBC ドライバーをダウンロードできる場所 リンクのコピーリンクがクリップボードにコピーされました!
| ベンダー | ダウンロード場所 |
|---|---|
| MySQL | |
| PostgreSQL | |
| Oracle | |
| IBM | |
| Sybase | |
| Microsoft |
B.3.3. ベンダー固有クラスへのアクセス リンクのコピーリンクがクリップボードにコピーされました!
このトピックでは、JDBC 固有クラスを使用するのに必要な手順について説明します。これは、アプリケーションが JDBC API の一部でないベンダー固有の機能を使用する必要がある場合に必要です。
警告
重要
重要
手順B.2 アプリケーションへの依存関係の追加
MANIFEST.MFファイルの設定- テキストエディターでアプリケーションの
META-INF/MANIFEST.MFファイルを開きます。 - JDBC モジュールの依存関係を追加し、ファイルを保存します。
依存関係: MODULE_NAME例B.5 依存関係の例
依存関係: com.mysql
jboss-deployment-structure.xmlファイルの作成アプリケーションのMETA-INF/またはWEB-INFフォルダーでjboss-deployment-structure.xmlという名前のファイルを作成します。例B.6 サンプル
jboss-deployment-structure.xmlファイル<jboss-deployment-structure> <deployment> <dependencies> <module name="com.mysql" /> </dependencies> </deployment> </jboss-deployment-structure>
例B.7 ベンダー固有 API へのアクセス
import java.sql.Connection;
import org.jboss.jca.adapters.jdbc.WrappedConnection;
Connection c = ds.getConnection();
WrappedConnection wc = (WrappedConnection)c;
com.mysql.jdbc.Connection mc = wc.getUnderlyingConnection();