7.3.2. JDBC ドライバーのインストールと DataSource の導入
Oracle JDBC ドライバーはディレクトリ $ORACLE_HOME/jdbc/lib 内にあります。 一部のユーザーが慣れている旧バージョンは classes12.zip と言う判りにくい 名前を持っていました。本ガイドの作成時点では、最新のドライバーのバージョンはファイル ojdbc14.jar で見ることが出来ます。名前に _g を付け加えた 各クラスのデバグバージョンもあり、これは問題に遭遇した時に便利になるでしょう。再度これらの一つを JBoss default 設定の lib ディレクトリにコピーして下さい。 非 XA セットアップに使用する基本ドライバークラスは oracle.jdbc.driver.OracleDriver と 呼ばれます。我々がここで使用する XADataSource クラスは oracle.jdbc.xa.client.OracleXADataSource と呼ばれます。
設定ファイル用には、 oracle-xa-ds.xml のサンプルファイルをコピーして、 それを編集により正しい URL とユーザー名とパスワードにセットします。
<datasources>
<xa-datasource>
<jndi-name>XAOracleDS</jndi-name>
<track-connection-by-tx>true</track-connection-by-tx>
<isSameRM-override-value>false</isSameRM-override-value>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
<xa-datasource-property name="URL">
jdbc:oracle:thin:@monkeymachine:1521:jboss
</xa-datasource-property>
<xa-datasource-property name="User">jboss</xa-datasource-property>
<xa-datasource-property name="Password">password</xa-datasource-property>
<exception-sorter-class-name>
org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
</exception-sorter-class-name>
<no-tx-separate-pools/>
</xa-datasource>
<mbean code="org.jboss.resource.adapter.jdbc.vender.oracle.OracleXAExceptionFormatter"
name="jboss.jca:service=OracleXAExceptionFormatter">
<depends optional-attribute-name="TransactionManagerService">
jboss:service=TransactionManager
</depends>
</mbean>
</datasources>
Oracle thin (pure java) ドライバーをここで使いました、そしてデータベースはホスト、 monkeymachine 上で稼働しており、データベース名(又は、Oracle 用語で SID)は jboss と言うことを想定しています。また、ユーザーが全ての十分な権限を付けた ユーザーjbossを作成したことも想定しています。この例では、単に dba 権限を使用することができます。
SQL> connect / as sysdba Connected. SQL> create user jboss identified by password; User created. SQL> grant dba to jboss; Grant succeeded.
ここで、ファイルを deploy ディレクトリにコピーします。以下のような 出力が出るはずです。
11:33:45,174 INFO [WrapperDataSourceService] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:name=XAOracleDS,service=DataSourceBinding to JNDI name 'java:XAOracleDS'
以前のように JMX コンソールから、 JNDIView サービスを使用している場合、 java:/XAOracleDS の名前がリストしてあることが判るでしょう。