7.3.2. JDBC ドライバーのインストールと DataSource の導入

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 の名前がリストしてあることが判るでしょう。