Liberty での関連データベース接続の構成
データベース接続用に各種 JDBC プロバイダーと関連付けられたデータ・ソースを構成できます。JDBC プロバイダーは、特定のベンダー・データベースとの JDBC 接続に必要なドライバー実装クラスを指定します。
このタスクについて
アプリケーションからデータベースにアクセスするには、データ・ソースを使用する必要があります。データ・ソースは、JDBC ドライバーによって提供され、以下のような各種タイプがあります。
- javax.sql.DataSource
このタイプのデータ・ソースは基本形式です。接続プーリングを強化するインターオペラビリティーを提供せず、また複数のリソースを必要とするトランザクションで 2 フェーズ対応リソースとして参加できません。
- javax.sql.ConnectionPoolDataSource
このタイプのデータ・ソースでは、接続プーリングが使用可能です。複数のリソースを必要とするトランザクションで 2 フェーズ対応リソースとして参加できません。
- javax.sql.XADataSource
このタイプのデータ・ソースでは、接続プーリングが使用可能であり、複数のリソースを必要とするトランザクションで 2 フェーズ対応リソースとしても参加できます。
Liberty で使用できるようにするには、JDBC ドライバーは、これらのタイプのデータ・ソースのうち少なくとも 1 つを提供する必要があります。一般的に使用される JDBC ドライバーについて、Liberty は、各種データ・ソース・タイプの実装クラス名を既に認識しています。Liberty に指示する必要があるのは、JDBC ドライバーの場所だけです。
手順
- server.xml ファイルで、JDBC ドライバーの JAR ファイルまたは圧縮ファイルのロケーションを指す共有ライブラリーを定義します。 以下に例を示します。
<library id="DB2JCC4Lib"> <fileset dir="C:/DB2/java" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/> </library>
- JDBC ドライバーを使用してデータ・ソースを定義します。データ・ソースのタイプが指定されていない場合、Liberty は、どれが使用可能なのかに基づいて、以下の順序でデータ・ソースを選択します。
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.XADataSource
データ・ソース・タイプについてデフォルトを受け入れる例を以下に示します。<dataSource id="db2" jndiName="jdbc/db2"> <jdbcDriver libraryRef="DB2JCC4Lib"/> <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/> </dataSource>
javax.sql.XADataSource タイプを使用する例を以下に示します。<dataSource id="db2xa" jndiName="jdbc/db2xa" type="javax.sql.XADataSource"> <jdbcDriver libraryRef="DB2JCC4Lib"/> <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/> </dataSource>
少なくとも 1 つの Java EE 7 フィーチャーが有効にされている場合、デフォルトのデータ・ソースが使用可能です。このデータ・ソースは、指定がない場合は、異なる優先順位を使用してタイプを決定します。- javax.sql.XADataSource
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
このデータ・ソースは java:comp/DefaultDataSource として使用可能です。これのために jndiName を指定する必要はありません。デフォルト・データ・ソースを構成するには、 ID を DefaultDataSource に設定してデータ・ソースを指定します。DB2 データベースを示すデフォルト・データ・ソースを構成する例を以下に示します。<dataSource id="DefaultDataSource"> <jdbcDriver libraryRef="DB2JCC4Lib"/> <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/> </dataSource>
- オプション: JDBC ベンダー・プロパティーや接続プーリング・プロパティーなど、データ・ソースの属性を構成します。 以下に例を示します。dataSource エレメント、connectionManager エレメント、およびいくつかの一般的に使用される JDBC ベンダーの構成属性の完全なリストについては、データ・ソース (dataSource)を参照してください。
<dataSource id="DefaultDataSource" jndiName="jdbc/db2" connectionSharing="MatchCurrentState" isolationLevel="TRANSACTION_READ_COMMITTED" statementCacheSize="20"> <connectionManager maxPoolSize="20" minPoolSize="5" connectionTimeout="10s" agedTimeout="30m"/> <jdbcDriver libraryRef="DB2JCC4Lib"/> <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000" currentLockTimeout="30s" user="user1" password="pwd1"/> </dataSource>
- オプション: 以下の例に従って、一般的に使用されるデータベースのデータ・ソースを構成します。
- DB2® の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/db2"> <jdbcDriver libraryRef="DB2JCC4Lib"/> <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/> </dataSource> <library id="DB2JCC4Lib"> <fileset dir="C:/DB2/java" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/> </library>
- DB2 on iSeries (ネイティブ) の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/db2iNative"> <jdbcDriver libraryRef="DB2iNativeLib"/> <properties.db2.i.native databaseName="*LOCAL"/> </dataSource> <library id="DB2iNativeLib"> <fileset dir="/QIBM/Proddata/java400/jdk6/lib/ext" includes="db2_classes16.jar"/> </library>
- DB2 on iSeries (ツールボックス) の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/db2iToolbox"> <jdbcDriver libraryRef="DB2iToolboxLib"/> <properties.db2.i.toolbox databaseName="SAMPLEDB" serverName="localhost"/> </dataSource> <library id="DB2iToolboxLib"> <fileset dir="/QIBM/ProdData/Http/Public/jt400/lib" includes="jt400.jar"/> </library>
- Derby Embedded の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/derbyEmbedded"> <jdbcDriver libraryRef="DerbyLib"/> <properties.derby.embedded databaseName="C:/databases/SAMPLEDB" createDatabase="create"/> </dataSource> <library id="DerbyLib"> <fileset dir="C:/db-derby-10.8.1.2-bin/lib"/> </library>
- Derby Network Client の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/derbyClient"> <jdbcDriver libraryRef="DerbyLib"/> <properties.derby.client databaseName="C:/databases/SAMPLEDB" createDatabase="create" serverName="localhost" portNumber="1527"/> </dataSource> <library id="DerbyLib"> <fileset dir="C:/db-derby-10.8.1.2-bin/lib"/> </library>
- Informix® JCC の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/informixjcc"> <jdbcDriver libraryRef="DB2JCC4Lib"/> <properties.informix.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="1526"/> </dataSource> <library id="DB2JCC4Lib"> <fileset dir="C:/Drivers/jcc/4.8" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/> </library>
- Informix JDBC の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/informix"> <jdbcDriver libraryRef="InformixLib"/> <properties.informix databaseName="SAMPLEDB" ifxIFXHOST="localhost" serverName="ol_machinename" portNumber="1526"/> </dataSource> <library id="InformixLib"> <fileset dir="C:/Drivers/informix" includes="ifxjdbc.jar ifxjdbcx.jar"/> </library>
- Microsoft SQL Server (Microsoft JDBC ドライバー) の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/mssqlserver"> <jdbcDriver libraryRef="MSJDBCLib"/> <properties.microsoft.sqlserver databaseName="SAMPLEDB" serverName="localhost" portNumber="1433"/> </dataSource> <library id="MSJDBCLib"> <fileset dir="C:/sqljdbc_6.0/enu/sqljdbc41.jar"/> </library>
- Microsoft SQL Server (DataDirect Connect for JDBC ドライバー) の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/ddsqlserver"> <jdbcDriver libraryRef="DataDirectLib"/> <properties.datadirect.sqlserver databaseName="SAMPLEDB" serverName="localhost" portNumber="1433"/> </dataSource> <library id="DataDirectLib"> <fileset dir="C:/DataDirect/Connect-4.2/lib/sqlserver.jar"/> </library>
- MySQL の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/mySQL"> <jdbcDriver libraryRef="MySQLLib"/> <properties databaseName="SAMPLEDB" serverName="localhost" portNumber="3306"/> </dataSource> <library id="MySQLLib"> <fileset dir="C:/mysql-connector-java-x.x.xx/mysql-connector-java-x.x.xx.jar"/> </library>
- Oracle の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/oracle"> <jdbcDriver libraryRef="OracleLib"/> <properties.oracle URL="jdbc:oracle:thin:@//localhost:1521/SAMPLEDB"/> </dataSource> <library id="OracleLib"> <fileset dir="C:/Oracle/lib/ojdbc6.jar"/> </library>
- Sybase の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/sybase"> <jdbcDriver libraryRef="SybaseLib"/> <properties.sybase databaseName="SAMPLEDB" serverName="localhost" portNumber="5000"/> </dataSource> <library id="SybaseLib"> <fileset dir="C:/Drivers/sybase/jconn4.jar"/> </library>
- solidDB® の場合
<dataSource id="DefaultDataSource" jndiName="jdbc/solidDB"> <jdbcDriver libraryRef="solidLib"/> <properties databaseName="SAMPLEDB" URL="jdbc:solid://localhost:2315/"/> </dataSource> <library id="solidLib"> <fileset dir="C:/Drivers/solidDB/SolidDriver2.0.jar"/> </library>
- Liberty に認識されていない JDBC ドライバーの場合
この例で、JDBC ドライバーは C:/Drivers/SampleJDBC/sampleDriver.jar にあり、com.ibm.sample.SampleXADataSource という名前の javax.sql.XADataSource の実装を提供しています。JDBC ドライバーは、ベンダー固有のデータ・ソース・プロパティー (databaseName、hostName、port など) も提供しています。<dataSource id="DefaultDataSource" jndiName="jdbc/sample" type="javax.sql.XADataSource"> <jdbcDriver libraryRef="SampleJDBCLib" javax.sql.XADataSource="com.ibm.sample.SampleXADataSource"/> <properties databaseName="SAMPLEDB" hostName="localhost" port="12345"/> </dataSource> <library id="SampleJDBCLib"> <fileset dir="C:/Drivers/SampleJDBC/sampleDriver.jar"/> </library>
サブトピック
- デフォルト・データ・ソースの構成
データベース接続用に各種 JDBC プロバイダーと関連付けられたデフォルト・データ・ソースを構成できます。JDBC プロバイダーは、特定のベンダー・データベースとの JDBC 接続に必要なドライバー実装クラスを指定します。 - Liberty: アプリケーション定義のデータ・ソース
Java™ EE 仕様で定義されているように、アノテーションまたはデプロイメント記述子で、アプリケーション内にデータ・ソースを定義することができます。 - DB2 データベースを使用するアプリケーションのクライアント・リルートの構成
DB2 データベースを使用するエンタープライズ・アプリケーションをクライアント・リルート・フィーチャーを使用して構成することで、 通信が失われてもリカバリーするようにでき、アプリケーションは最小限の中断で続行できるようになります。リルート機能は連続稼働をサポートするための中核機能ですが、 リルートが可能なのは、アプリケーション・サーバー接続に対して指定された代替ロケーションがある場合のみです。 - データベース接続用の接続プールの構成
データ・ソースの接続プールを構成するには、接続プール用の接続マネージャーを定義します。
関連タスク:
タスク・トピック
最終更新: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_dep_configuring_ds
ファイル名: twlp_dep_configuring_ds.html