Sun Java System Application Server 9.1 高可用性 (HA) 管理ガイド

JDBC 接続プールの設定

Application Server は Java Database Connectivity (JDBC) API を使用して HADB と通信します。asadmin configure-ha-cluster コマンドは、クラスタの cluster-name の JDBC 接続プールを HADB 用に自動的に作成します。接続プールの名前は「cluster-name-hadb-pool」です。JDBC リソースの JNDI URL は「jdbc/cluster-name-hastore」です。

通常、接続プールは初期設定のままで十分です。ノードを追加する場合は、通常プールサイズを変更して、アクティブな HADB ノードがそれぞれ 8 つの接続を持つようにします。「ノードの追加」を参照してください。

この節では、次のトピックを扱います。

接続プールと JDBC リソースに関する一般情報については、『Sun Java System Application Server 9.1 高可用性 (HA) 管理ガイド』を参照してください。

JDBC URL の取得

JDBC 接続ツールをセットアップする前に、次のように hadbm get コマンドを使用して、 HADB の JDBC URL を決定する必要があります。

hadbm get JdbcUrl [dbname]

次に例を示します。

hadbm get JdbcUrl

このコマンドを実行すると、JDBC URL が次の書式で表示されます。

jdbc:sun:hadb:host:port,
host:port,...

jdbc:sun:hadb: 接頭辞を削除し、 host:port, host:port... の部分を、表 3–10 で説明されている serverList 接続プールプロパティーの値として使用します。

接続プールの作成

次の表に、HADB 用に必須の接続プール設定を要約します。ノードを追加する際には「通常プールサイズ」を変更し、それ以外の設定は変更しないでください。

表 3–9 HADB 接続プール設定

設定 

HADB 用に必要な値 

名前

HADB JDBC リソースの「プール名」設定がこの名前を参照している必要があります 

データベースベンダー

HADB 4.4 

グローバルトランザクションのサポート

チェックしない/False 

データソースクラス名

com.sun.hadb.jdbc.ds.HadbDataSource

通常プールサイズ

アクティブな HADB ノードごとに 8 つの接続を使用します。詳細については、 『System Deployment Guide』を参照してください。

接続検証が必要

チェックする/True 

検証方法

meta-data

テーブル名

指定しない 

すべての障害ですべての接続を閉じる

チェックしない/False 

トランザクション遮断

repeatable-read

遮断レベルを保証

チェックする/True 

次の表に、HADB 用に必須の接続プールのプロパティーを要約します。ノードを追加する際には serverList を変更し、それ以外のプロパティーは変更しないでください。

表 3–10 HADB 接続プールプロパティー

プロパティー 

説明 

username

asadmin create-session-store コマンドに使用する storeuser の名前。

password

asadmin create-session-store コマンドに使用するパスワード (storepassword)。

serverList

HADB の JDBC URL。この値を特定するには、「JDBC URL の取得」を参照してください。

データベースにノードを追加する場合は、この値を変更する必要があります。「ノードの追加」を参照してください。

cacheDatabaseMetaData

必要に応じて false を指定すると、Connection.getMetaData() を呼び出すことによってデータベースが呼び出され、接続が有効になります。

eliminateRedundantEndTransaction

必要に応じて true を指定すると、重複するコミットおよびロールバックの要求の削除、およびトランザクションが開いていない場合にはそれらの要求の無視により、パフォーマンスが向上します。

maxStatement

開いている接続あたりのドライバ文プールにキャッシュされる文の最大数。このプロパティーは 20 に設定します。


例 3–5 接続プールの作成

次に示すのは、HADB JDBC 接続プールを作成する asadmin create-jdbc-connection-pool コマンドの例です。

asadmin create-jdbc-connection-pool
--user adminname --password secret 
--datasourceclassname com.sun.hadb.jdbc.ds.HadbDataSource
--steadypoolsize=32
--isolationlevel=repeatable-read
--isconnectvalidatereq=true
--validationmethod=meta-data
--property username=storename:password=secret456:serverList=
host\:port,host\:port,
host\\:port,host\:port,
host\:port,host\:port
:cacheDatabaseMetaData=false:eliminateRedundantEndTransaction=true hadbpool

Solaris では、プロパティー値に含まれるコロン文字 (:) は 2 つの円記号 (\\) でエスケープします。Windows では、コロン文字 (:) を 1 つの円記号 (\) でエスケープします。


JDBC リソースの作成

次の表に、HADB 用に必須の JDBC リソース設定を要約します。

表 3–11 HADB JDBC リソース設定

設定 

説明 

JNDI 名

セッション持続性設定のデフォルトの JNDI 名はjdbc/hastore です。このデフォルト名または別の名前を使用することができます。

可用性サービスを使用可能にするには、store-pool-jndi-name「持続性ストア」プロパティーの値にもこの JDNI 名を指定する必要があります。

プール名

リストから、この JDBC リソースが使用する HADB 接続プールの名前 (または ID) を選択します。詳細については、「ネットワーク冗長性の設定」を参照してください。

データソースが有効

チェックする/True