ナビゲーションをスキップ

コンフィグレーション リファレンス

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

JDBCConnectionPool

 


説明

この Bean は、JDBC 接続プールを定義します。

 


構文

<JDBCConnectionPool
ACLName="String"
CapacityIncrement="number"
ConnLeakProfilingEnabled=( "true" | "false" )
ConnProfilingEnabled=( "true" | "false" )
ConnectionCreationRetryFrequencySeconds="number of seconds"
ConnectionReserveTimeoutSeconds="number of seconds"
CountOfRefreshFailuresTillDisable="number"
CountOfTestFailuresTillFlush="number"
DeploymentOrder="number"
DriverName="String"
EnableResourceHealthMonitoring=( "true" | "false" )
HighestNumUnavailable="number"
HighestNumWaiters="number"
IgnoreInUseConnectionsEnabled=( "true" | "false" )
InactiveConnectionTimeoutSeconds="number of seconds"
InitSQL="String"
InitialCapacity="number"
KeepLogicalConnOpenOnRelease=( "true" | "false" )
KeepXAConnTillTxComplete=( "true" | "false" )
LoginDelaySeconds="number of seconds"
MaxCapacity="number"
Name="String"
NeedTxCtxOnClose=( "true" | "false" )
NewXAConnForCommit=( "true" | "false" )
Notes="String"
PasswordEncrypted="[B"
PreparedStatementCacheSize="number"
Properties="java.util.Properties"
RefreshMinutes="number of minutes"
RemoveInfectedConnectionsEnabled=( "true" | "false" )
RollbackLocalTxUponConnClose=( "true" | "false" )
SecondsToTrustAnIdlePoolConnection="number of seconds"
ShrinkFrequencySeconds="number of seconds"
ShrinkPeriodMinutes="number of minutes"
ShrinkingEnabled=( "true" | "false" )
SqlStmtProfilingEnabled=( "true" | "false" )
StatementCacheSize="number"
StatementCacheType=( "LRU" | "FIXED" )
StatementTimeout="number"
SupportsLocalTransaction=( "true" | "false" )
Targets="list of Target names"
TestConnectionsOnCreate=( "true" | "false" )
TestConnectionsOnRelease=( "true" | "false" )
TestConnectionsOnReserve=( "true" | "false" )
TestFrequencySeconds="number of seconds"
TestStatementTimeout="number"
TestTableName="String"
URL="String"
XAEndOnlyOnce=( "true" | "false" )
XAPasswordEncrypted="[B"
XAPreparedStatementCacheSize="number"
XASetTransactionTimeout=( "true" | "false" )
XATransactionTimeout="number"
/>

 


親要素

 


属性

表 20-1 JDBCConnectionPool の属性

属性

説明

指定できる値とデフォルト値

ACLName

非推奨。この接続プールへのアクセスを制御するために使う ACL を返す。

必須 : いいえ

CapacityIncrement

接続プール容量の拡張単位となる増加量を返す。サービス要求に提供するための利用可能な物理接続が他にないとき、接続プールはこの数の物理データベース接続を追加作成して、それらを接続プールに追加する。接続プールは MaxCapacity で設定された物理接続の最大数以上にはならない。

Administration Console のフィールド ラベル : [増加容量]

デフォルト値 : 1

最小値 : 1

最大値 : 231-1

ConnLeakProfilingEnabled

このプロパティによって JDBC 接続リーク プロファイルが有効になる。

接続リークは、プールからの接続が close() の呼び出しで明示的にクローズされていないときに発生する。

接続リーク プロファイルがアクティブの場合、プールは接続オブジェクトがプールから割り当てられ、クライアントに与えられたときにスタック トレースを格納する。接続リークが検出されたとき (接続オブジェクトのガベージ コレクションが行われたとき) に、このスタック トレースが報告される。

この機能はリソースを余計に使用し、接続プール処理を遅くする可能性があるので、プロダクション環境では使用しないほうがよい。

Administration Console のフィールド ラベル : [接続リークプロファイルを有効化]

デフォルト値 : false

セキュアな値 : false

ConnProfilingEnabled

このプロパティによって JDBC 接続使用プロファイルが有効になる。

接続使用プロファイルがアクティブの場合、クライアントによって接続オブジェクトが開放されてプールに戻されたときにスタック トレースが格納される。グローバル (XA) トランザクションに関係する後続の処理の間に例外が送出されると、このスタック トレースが報告される。

この機能を使用して、ローカル トランザクションの処理のうち、アプリケーションのコードにより未完了のまま残されているものを検出できる。こうした未完了の処理は、JDBC 接続を使用して実行されたグローバル (XA) トランザクションに関係する後続の処理を妨げるおそれがある。

この機能はリソースを余計に使用し、接続プール処理を遅くする可能性があるので、プロダクション環境では使用しないほうがよい。

Administration Console のフィールド ラベル : [接続プロファイルを有効化]

デフォルト値 : false

セキュアな値 : false

ConnectionCreationRetryFrequencySeconds

データベースとの接続を確立する試行の秒間隔。0 (デフォルト) に設定すると、接続は再試行されない。

Administration Console のフィールド ラベル : [接続作成の再試行頻度]

単位 : 秒

デフォルト値 : 0

最小値 : 0

最大値 : 231-1

ConnectionReserveTimeoutSeconds

接続プールの接続を予約する呼び出しがタイムアウトになるまでの秒数。

0 に設定すると、呼び出しはタイムアウトにならない。

-1 に設定すると、呼び出しは直ちにタイムアウトになる。

Administration Console のフィールド ラベル : [接続予約のタイムアウト]

単位 : 秒

デフォルト値 : 10

最小値 : -1

最大値 : 231-1

CountOfRefreshFailuresTillDisable

切断されたプール接続の置き換えに連続して失敗できる回数を設定する。この回数を超えると、プールが無効になる。ゼロに設定すると、プールは無効にならない。

デフォルト値 : 0

CountOfTestFailuresTillFlush

プール接続のテストに連続して失敗できる回数を設定する。この回数を超えると、プールのすべての接続がクローズされる。ゼロに設定すると、プールの接続はクローズされない。

デフォルト値 : 0

DeploymentOrder

デプロイの優先順位。サーバではこれを使って項目のデプロイ順を決定する。優先順位は、同じタイプの他のデプロイ可能な項目に対する相対的な順位。たとえば、サーバはすべての EJB を優先順位に従ってデプロイしてから、起動クラスを優先順位に従ってデプロイする。

デプロイ順の値が小さい項目から順にデプロイされる。デプロイ順の値が等しい項目のデプロイメント順序は保証されていない。クラスタ間の順序付けは保証されていない。

デフォルト値 : 1000

最小値 : 0

最大値 : 231-1

DriverName

当該接続プール用に WebLogic Server と DBMS 間の物理接続を作成するのに使われる JDBC ドライバの完全パッケージ名を返す。次に例を示す。

com.pointbase.jdbc.jdbcUniversalDriver

これは、java.sql.Driver インタフェースを実装するクラスの名前である必要がある。絶対パス名については、使用する JDBC ドライバのマニュアルを参照。

Administration Console のフィールド ラベル : [ドライバ クラス名]

必須 : いいえ

EnableResourceHealthMonitoring

この XA 接続プールにおいて、JTA リソースの状態モニタが有効になっているかどうかを返す。

このプロパティは XA 接続プールにだけ適用され、XA 以外のドライバを使用する接続プールでは無視される。

デフォルト値 : true

HighestNumUnavailable

接続の更新などの目的でアプリケーションから利用不可にできる、接続プールの接続の最大数。バックエンド システムが利用できないなどの場合は、プールの制御外の要因によってここで指定した値を超えることがある。

0 (デフォルト) に設定すると、接続を待機しなくなる。

Administration Console のフィールド ラベル : [使用できない接続の最大数]

デフォルト値 : 0

最小値 : 0

最大値 : 231-1

HighestNumWaiters

プールの接続の予約を待っている状態で、同時にブロックできる接続要求の最大数。

Administration Console のフィールド ラベル : [接続の最大待機数]

デフォルト値 : 231-1

最小値 : 0

最大値 : 231-1

IgnoreInUseConnectionsEnabled

接続が使用中であってもプールのシャットダウンを可能にする。

デフォルト値 : true

InactiveConnectionTimeoutSeconds

予約された接続が強制的に接続プールに戻されるまでの、活動のない状態の秒数。0 (デフォルト) に設定した状態では、この機能は無効である。

Administration Console のフィールド ラベル : [非アクティブ接続タイムアウト]

単位 : 秒

デフォルト値 : 0

最小値 : 0

最大値 : 231-1

InitSQL

物理的なデータベース接続を開始 (準備) するために実行する SQL 文。InitSQL が「SQL」で始まる場合、「SQL」より後の文字列は、接続を開始するリテラルの SQL 文として扱われる。それ以外の場合、InitSQL はテーブルの名前として扱われ、その後に続く SQL 文は接続を開始するために使用される。

"select count(*) from InitSQL"

テーブル InitSQL が存在し、接続を使用するデータベース ユーザからアクセスできる必要がある。ほとんどのデータベース サーバでは、この SQL を最適化してテーブル スキャンを回避する。それでも、InitSQL を、行が少ない (または、まったくない) テーブルの名前に設定することは有益である。

Administration Console のフィールド ラベル : [初期化 SQL]

必須 : いいえ

InitialCapacity

接続プールの作成時に作成する物理データベース接続の数を返す。

Administration Console のフィールド ラベル : [初期容量]

デフォルト値 : 1

最小値 : 0

最大値 : 231-1

KeepLogicalConnOpenOnRelease

物理 XA 接続が XA 接続プールに戻されるときに論理 JDBC 接続が開かれたまま維持される場合は true を返す。

このプロパティは XA 接続プールにだけ適用され、XA 以外のドライバの場合は無視される。その意図は、サード パーティ ベンダ製 XA ドライバの特定の問題を解決することにある。

Administration Console のフィールド ラベル : [リリース時に接続を開いたまま保持]

デフォルト値 : false

KeepXAConnTillTxComplete

XA 接続プールがトランザクションの完了まで同じ XA 接続を分散トランザクションに関連付ける場合に true を返す。このプロパティは XA 接続プールにだけ適用され、XA 以外のドライバの場合は無視される。その意図は、サード パーティ ベンダ製 XA ドライバの特定の問題を解決することにある。

Administration Console のフィールド ラベル : [トランザクション完了まで XA 接続を保持]

デフォルト値 : false

LoginDelaySeconds

各物理データベース接続を作成するまでにかかる遅延時間 (秒数) を返す。この遅延は、最初にプールが作成されるときにも、プールの生存期間中に物理データベース接続が作成されるときにも発生する。

Administration Console のフィールド ラベル : [ログイン遅延]

単位 : 秒

デフォルト値 : 0

最小値 : 0

最大値 : 231-1

MaxCapacity

当該接続プールが保有できる物理データベース接続の最大数を返す。JDBC ドライバおよびデータベース サーバによっては、可能な物理的接続の数が制限されている場合もある。

Administration Console のフィールド ラベル : [最大容量]

デフォルト値 : 15

最小値 : 1

最大値 : 231-1

Name

このコンフィグレーションの名前。WebLogic Server では MBean を使用してコンフィグレーションを実装および保持する。

Administration Console のフィールド ラベル : [名前]

必須 : いいえ

NeedTxCtxOnClose

さまざまな JDBC オブジェクト (結果セット、文、接続など) を閉じるときに XA ドライバで分散トランザクション コンテキストが必要な場合に true を返す。true に設定されていると、JDBC オブジェクトを閉じるときに送出される SQL 例外のうち、トランザクション コンテキストでないものは無条件で受信される。このプロパティは XA 接続プールにだけ適用され、XA 以外のドライバの場合は無視される。その意図は、サード パーティ ベンダ製 XA ドライバの特定の問題を解決することにある。

Administration Console のフィールド ラベル : [クローズ時にトランザクション コンテキストが必要]

デフォルト値 : false

NewXAConnForCommit

特定の分散トランザクションのコミットまたはロールバック処理で専用の XA 接続が使用される場合に true を返す。

このプロパティは XA 接続プールにだけ適用され、XA 以外のドライバの場合は無視される。その意図は、サード パーティ ベンダ製 XA ドライバの特定の問題を解決することにある。

Administration Console のフィールド ラベル : [コミット専用に新しい XA 接続を使用]

デフォルト値 : false

Notes

このコンフィグレーションの説明として任意に入力できる情報。

Administration Console のフィールド ラベル : [メモ]

必須 : いいえ

PasswordEncrypted

setPassword()setPasswordEncrypted(byte[] bytes) で設定されるか、または setProperties() で key=value ペアとして設定される暗号化されたデータベース パスワード。

必須 : いいえ

暗号化 : はい

PreparedStatementCacheSize

非推奨。後で使用するためにキャッシュに格納される prepared statement の数。WebLogic Server では、再ロードせずにキャッシュ内の prepared statement を再利用できるため、サーバのパフォーマンスが向上する。Prepared Statement キャッシュ サイズを 0 に設定すると、キャッシュがオフになる。

Administration Console のフィールド ラベル : [Prepared Statement キャッシュ サイズ]

デフォルト値 : -1

Properties

物理データベース接続の作成時に JDBC ドライバに渡されるプロパティのリストを返す。そのリストは、セミコロンで区切られた attribute=value タグで構成される (例 : user=scott;server=myDB)。

Administration Console のフィールド ラベル : [プロパティ]

必須 : いいえ

RefreshMinutes

非推奨。データベース接続テストの周期の分数を返す。RefreshMinutes の間隔が過ぎるたびに、TestTableName を使って未使用のデータベース接続がテストされる。テストに合格しない接続は閉じられ、有効な物理データベース接続を再確立するために再び開かれる。TestTableName が設定されていない場合、テストは実行されない。

Administration Console のフィールド ラベル : [更新間隔]

単位 : 分

デフォルト値 : 0

最小値 : 0

最大値 : 35791394

RemoveInfectedConnectionsEnabled

アプリケーションが基底のベンダ接続オブジェクトを要求したときに接続が接続プールから削除されるかどうかを制御する。この属性を有効にすると、接続のプールが本質的に無効になる (接続がプールから削除され、新しい接続で置き換えられる) のでパフォーマンスに影響がある。

Administration Console のフィールド ラベル : [影響のある接続の削除を有効化]

デフォルト値 : true

RollbackLocalTxUponConnClose

true に設定すると、WLS 接続プールは接続をプールに戻す前に、その接続に対して rollback() を呼び出す。ロールバックの呼び出しにはデータベース サーバとの通信が必要であるため、この属性を有効にすると、パフォーマンスに影響が生じる。

デフォルト値 : false

SecondsToTrustAnIdlePoolConnection

プールされた接続に限り、その有効性を信頼して接続テストを省略する秒数。

接続がテストされたか、または正常に使用されて接続プールに返されたときから、指定された時間が経過するまでの間にアプリケーションから接続が要求される場合、接続をアプリケーションに渡す前の接続テストが省略される (TestConnectionsOnReserve が有効な場合)。

正常に使用されて接続プールに返された接続については、指定された時間内の自動更新接続テストも省略される (TestFrequencySeconds が指定されている場合)。

(特に大量のトラフィック発生時の) データベース接続テストによる遅延を最小限に抑えることにより、アプリケーションのパフォーマンスを向上できるチューニング機能。ただし、値を高く設定しすぎると、接続テストの有効性が低くなることがある。適切な値は、使用する環境と接続の切断が発生しやすいかどうかによって決まる。

Administration Console のフィールド ラベル : [アイドル プール接続を信頼する秒数]

単位 : 秒

デフォルト値 : 0

最小値 : 0

最大値 : 231-1

ShrinkFrequencySeconds

接続プールが需要に見合うよう増加された後、初期のサイズに戻すまでの秒数を返す。接続プールを縮小するには、ShrinkingEnabled が true に設定されている必要がある。

Administration Console のフィールド ラベル : [縮小頻度]

単位 : 秒

デフォルト値 : 900

最小値 : 0

最大値 : 231-1

ShrinkPeriodMinutes

非推奨。接続プールが需要に見合うよう増加された後、初期のサイズに戻すまでの分数を返す。接続プールを縮小するには、ShrinkingEnabled が true に設定されている必要がある。

Administration Console のフィールド ラベル : [縮小間隔 (分)]

単位 : 分

デフォルト値 : 15

最小値 : 1

最大値 : 231-1

ShrinkingEnabled

トラフィックの増加時に作成された接続の不使用が検出されたときに、InitialCapacity または現在使用されている接続数のうち、大きい方にプールを縮小できるかどうかを示す。

Administration Console のフィールド ラベル : [縮小可]

デフォルト値 : true

SqlStmtProfilingEnabled

SQL ラウンドトリップ プロファイルに、SQL 文のテキストや実行時間などのメトリックを格納する。

デフォルト値 : false

StatementCacheSize

再利用を目的としてキャッシュに格納された prepared statement および callable statement の数。WebLogic Server では、再ロードせずにキャッシュ内の文を再利用できるため、サーバのパフォーマンスが向上する。Statement キャッシュ サイズを 0 に設定すると、キャッシュがオフになる。プール内の各接続には、それ専用の Statement キャッシュがある。

Administration Console のフィールド ラベル : [Statement キャッシュ サイズ]

デフォルト値 : 10

StatementCacheType

Statement キャッシュの管理に使用するアルゴリム (LRU または FIXED) を設定する。

  • LRU - statementCacheSize に達した後に新しい文が使用されると、最後に使用された時期が最も古い文がキャッシュから削除される。

  • Fixed - 最初の statementCacheSize の文の数が固定されたままキャッシュに格納される。キャッシュが手作業でクリアされない限り、新しい文はキャッシュされない。

Administration Console のフィールド ラベル : [Statement キャッシュ タイプ]

必須 : いいえ

デフォルト値 : LRU

StatementTimeout

現在実行されている文がタイムアウトになるまでの時間を指定する。デフォルト値に設定すると、この機能は無効になる。この機能の効果は、基底の JDBC ドライバ サポートに依存する。

デフォルト値 : -1

最小値 : -1

最大値 : 231-1

SupportsLocalTransaction

物理データベース接続を作成するための XA ドライバが、グローバル トランザクションを使用しない SQL をサポートするかどうか。

このプロパティは XA ドライバのみを使用する接続プールに適用され、XA 以外のドライバを使用する接続プールでは無視される。

Administration Console のフィールド ラベル : [ローカル トランザクションのサポート]

デフォルト値 : false

Targets

現在のドメイン内で、この項目のデプロイ先となる対象。

Administration Console のフィールド ラベル : [対象]

必須 : いいえ

TestConnectionsOnCreate

true に設定すると、接続を作成した後で、それをクライアントから利用可能な接続リストに追加する前に接続がテストされる。テストを行うと接続作成時に少しの遅延が発生するが、クライアントが確実に有効な接続を取得することができる (DBMS が利用可能でアクセス可能である場合)。TestConnectionsOnCreate を有効にするには、属性 TestTableName を有効にする必要がある。

Administration Console のフィールド ラベル : [作成されたときに接続をテスト]

デフォルト値 : false

TestConnectionsOnRelease

true に設定すると、WebLogic Server は接続をテストしてから接続プールに返す。プール内のすべての接続がすでに使用中で、かつクライアントが接続を待っている場合、接続のテスト中はクライアントの待ち時間がやや長くなる。TestConnectionsOnRelease を有効にするには、属性 TestTableName を有効にする必要がある。

Administration Console のフィールド ラベル : [リリースされたときに接続をテスト]

デフォルト値 : false

セキュアな値 : false

TestConnectionsOnReserve

true に設定すると、WebLogic Server は接続をテストしてからクライアントに提供する。このテストを行うと、クライアントがプールに接続を要求した場合、その要求に応えるまでに短い遅延が生じるが、クライアントでは有効な接続を確実に受け取ることができる (DBMS が利用可能およびアクセス可能であると仮定)。

TestConnectionsOnReserve を有効にするには、属性 TestTableName を有効にする必要がある。

Administration Console のフィールド ラベル : [リザーブされたときに接続をテスト]

デフォルト値 : false

セキュアな値 : false

TestFrequencySeconds

データベース接続テストの周期の秒数を返す。TestFrequencySeconds の間隔が過ぎるたびに、TestTableName を使って未使用の接続がテストされる。テストに合格しない接続は閉じられ、有効な物理データベース接続を再確立するために再び開かれる。TestTableName が設定されていない場合、テストは実行されない。

0 (デフォルト) に設定された状態では、周期的なテストは無効である。

Administration Console のフィールド ラベル : [テスト頻度]

単位 : 秒

デフォルト値 : 0

最小値 : 0

最大値 : 231-1

TestStatementTimeout

実行中のテスト文 (アプリケーションがプール属性 TestTableName を使用してコンフィグレーションする) または初期化文 (アプリケーションがプール属性 InitSQL を使用してコンフィグレーションする) がタイムアウトするまでの時間を指定する。デフォルト値に設定すると、この機能は無効になる。この機能の効果は、基底の JDBC ドライバ サポートに依存する。

デフォルト値 : -1

最小値 : -1

最大値 : 231-1

TestTableName

物理データベース接続のテスト時に使われるテーブルの名前を返す。接続をテストする際に使用されるデフォルト SQL コードは、次の通り。

"select count(*) from TestTableName"

TestTableName が存在し、接続を使用するデータベース ユーザがアクセスできる必要がある。ほとんどのデータベース サーバはこの SQL を最適化して、テーブル スキャンを回避する。それでも、TestTableName を、行が少ない (またはまったくない) テーブルの名前に設定することは有益である。

TestTableName が「SQL」で始まる場合、「SQL」より後の文字列は、接続をテストするリテラルの SQL 文として扱われる。

Administration Console のフィールド ラベル : [テスト テーブル名]

必須 : いいえ

URL

当該接続プールで接続を作成するためのデータベース URL を返す。

Administration Console のフィールド ラベル : [URL]

必須 : いいえ

XAEndOnlyOnce

保留中の各 XAResource.start() に対して XAResource.end() が一度だけ呼び出される場合に true を返す。つまり、XA ドライバは XAResource.end(TMSUSPEND)、XAResource.end(TMSUCCESS) で連続的に呼び出されることはない。

このプロパティは XA 接続プールにだけ適用され、XA 以外のドライバの場合は無視される。その意図は、サード パーティ ベンダ製 XA ドライバの特定の問題を解決することにある。

Administration Console のフィールド ラベル : [XA を 1 度だけ終了]

デフォルト値 : false

XAPasswordEncrypted

この暗号化されたパスワードは、物理的な XA データベース接続の作成に使用される。

必須 : いいえ

暗号化 : はい

XAPreparedStatementCacheSize

非推奨。この特定の XA 接続プールでキャッシュされる prepared statement の最大数を返す。値が 0 の場合、キャッシングはオフになる。このプロパティは XA 接続プールにだけ適用され、XA 以外のドライバの場合は無視される。

デフォルト値 : -1

XASetTransactionTimeout

true に設定すると、WebLogic Server トランザクション マネージャは XAResource.start の前に XAResource.setTransactionTimeout() を呼び出して、XATransactionTimeout またはグローバル トランザクションのタイムアウト (秒単位) を渡す。

false に設定すると、setTransactionTimeout() は呼び出されない。

このプロパティは XA 接続プールにだけ適用され、XA 以外のドライバを使用する接続プールでは無視される。

Administration Console のフィールド ラベル : [XA トランザクション タイムアウトを有効化]

デフォルト値 : false

XATransactionTimeout

トランザクションのタイムアウト値として XAResource.setTransactionTimeout() メソッドに渡す秒数を決定する。0 に設定すると、WebLogic Server トランザクション マネージャはこのメソッドにグローバル WebLogic Server トランザクション タイムアウト (秒単位) を渡す。

このプロパティを設定する場合には、グローバル WebLogic Server トランザクション タイムアウトと同じか、それよりも大きい値にする必要がある。

XASetTransactionTimeout を「true」に設定しておく必要がある。「true」に設定しない場合、このプロパティは無視される。

このプロパティは XA 接続プールにだけ適用され、XA 以外のドライバを使用する接続プールでは無視される。

Administration Console のフィールド ラベル : [XA トランザクション タイムアウト]

デフォルト値 : 0

 

フッタのナビゲーションのスキップ  ページの先頭 前 次