完全プロファイルと Liberty プロファイルでの構成の相違点: dataSource エレメントおよび jdbcDriver エレメント
Liberty プロファイルの dataSource と完全プロファイルのデータ・ソースでは、構成にいくつかの相違点があります。
- 名前が異なるデータ・ソース・プロパティー
- ifxIFX_LOCK_MODE_WAIT。 完全プロファイルでは informixLockModeWait です。
- supplementalJDBCTrace。 完全プロファイルでは supplementalTrace です。
- 値が異なるデータ・ソース・プロパティー
- beginTranForResultSetScrollingAPIs。 Liberty プロファイルではデフォルトで true です。
- beginTranForVendorAPIs。 Liberty プロファイルではデフォルトで true です。
- connectionSharing。 Liberty プロファイルではデフォルトで MatchOriginalRequest です。
- statementCacheSize。 Liberty プロファイルではデフォルトで 10 です。
- データ・ソースの connectionSharing プロパティー
- Liberty プロファイルでは、connectionSharing を MatchOriginalRequest または MatchCurrentState に構成することができます。 デフォルトでは、これは MatchOriginalRequest です。
- 完全プロファイルでは、connectionSharing を細かく構成することが可能で、 元の接続要求または接続の現在の状態に基づいて個別の接続プロパティーをマッチングすることができます。 完全プロファイルの connectionSharing は、 接続の現在の状態に基づいてどの接続プロパティーをマッチングするかを表すビットの組み合わせです。 完全プロファイルで、値 0 は、元の接続要求に基づいてすべてのプロパティーをマッチングすることを表し、値 -1 は、接続の現在の状態に基づいてすべてのプロパティーをマッチングすることを表します。 完全プロファイルのデフォルト値は 1 で、 接続の現在の状態に基づいて分離レベルをマッチングし、その他のすべてのプロパティーは元の接続要求に基づいてマッチングすることを表します。
- データ・ソースの期間プロパティーLiberty プロファイルでは、オプションで期間プロパティーに単位を付けて指定することができます。以下に例を示します。
dataSource エレメントの指定可能な時間単位とフォーマットについては、 『server.xml ファイルの構成エレメント』を参照してください。 Liberty プロファイルで単位を省略すると、 完全プロファイルで使用されるデフォルト単位と同じになります。<dataSource id="informix" jndiName="jdbc/informix" queryTimeout="5m" ...> <properties.informix ifxIFX_LOCK_MODE_WAIT="120s" .../> </dataSource>
- JDBC ドライバーの構成
- Liberty プロファイルでは、 XA 対応と非 XA 対応のデータ・ソース実装クラスに異なる jdbcDriver エレメントを構成するという同じ方法を取ることもできます。 あるいは、単一の jdbcDriver エレメントを両方に使用できます。複数の jdbcDriver エレメントを定義しても、異なるクラス・ローダーは使用されません。 Liberty プロファイルで、jdbcDriver エレメントは常に、構成されている共有ライブラリーのクラス・ローダーを使用します。
- 完全プロファイルで JDBC プロバイダーは、JDBC ドライバーの JAR、圧縮ファイル、およびネイティブ・ファイルを指すように定義されます。 XA 対応と非 XA 対応のデータ・ソース実装クラスに別々の JDBC プロバイダーを定義する必要があります。
一部の一般的に使用される JDBC ドライバーについて、Liberty プロファイルは、ドライバー JAR の名前を基にデータ・ソース実装クラス名を推定します。そのため、実装クラス名を省略できます。以下に例を示します。<jdbcDriver id="Derby" libraryRef="DerbyLib"/> <library id="DerbyLib"> <fileset dir="C:/Drivers/derby" includes="derby.jar" /> </library>
javax.sql.DataSource、javax.sql.ConnectionPoolDataSource、javax.sql.XADataSource など、デフォルト実装クラスのオプションのプロパティーを使用して、これらのクラスをオーバーライドできます。
以下の例で、Liberty プロファイルで選択されるデフォルトの javax.sql.XADataSource および javax.sql.ConnectionPoolDataSource の実装をオーバーライドする方法を示します。
jdbcDriver エレメントについて詳しくは、『server.xml ファイルの構成エレメント』を参照してください。<jdbcDriver id="Derby" libraryRef="DerbyLib" javax.sql.XADataSource="org.apache.derby.jdbc.EmbeddedXADataSource" javax.sql.ConnectionPoolDataSource="org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource"/> <library id="DerbyLib"> <fileset dir="C:/Drivers/derby" includes="derby.jar" /> </library>