![]() |
![]() |
|
|
| |
接続管理
以下の節では、BEA WebLogic J2EE 接続管理アーキテクチャ関連のさまざまな接続管理作業について説明します。
エラー ロギングとトレース機能
「J2EE コネクタ仕様、バージョン 1.0、最終草案 2」では、アプリケーション サーバの要件の 1 つとして、ManagedConnectionFactory.set/getLogWriter
を使用してエラー ロギングおよびトレース機能をリソース アダプタに提供することが記載されています。
BEA WebLogic Server では、この機能をコンフィグレーションするために、weblogic-ra.xml
記述子ファイルに 2 つの要素を用意しています。
logging-enabled
要素はロギングがオンまたはオフのどちらであるかを示します。この要素のデフォルト値は、false
です。
log-filename
要素は、ロギング情報を書き込むファイル名を指定します。
詳細については、 weblogic-ra.xml デプロイメント記述子の要素を参照してください。
接続プロパティのコンフィグレーション
ra.xml
デプロイメント記述子ファイルには、ManagedConnectionFactory
インスタンスごとに 1 つのコンフィグレーション設定を宣言するための config-property
要素が入っています。通常、リソース アダプタ プロバイダは、これらのコンフィグレーション プロパティを設定します。ただし、コンフィグレーション プロパティが設定されていない場合、リソース アダプタのデプロイ担当者がプロパティの値を指定する必要があります。
WebLogic Server では、weblogic-ra.xml
デプロイメント記述子ファイルの map-config-property
要素を使用してコンフィグレーション プロパティを設定できます。リソースのアダプタの一連のコンフィグレーション プロパティをコンフィグレーションするには、宣言するコンフィグレーション プロパティごとに map-config-property-name
と map-config-property-value
の組み合わせを指定します。
また、map-config-property
要素を使用すると、ra.xml
デプロイメント記述子ファイルで指定した値をオーバーライドできます。WebLogic Server は、起動時に map-config-property
の値を ra.xml
ファイルの config-property
の値と比較します。コンフィグレーション プロパティ名が一致した場合、WebLogic Server は対応するコンフィグレーション プロパティ名の map-config-property-value
を使用します。
BEA WebLogic Server 拡張接続管理機能
「J2EE コネクタ仕様 バージョン 1.0、最終草案 2」に記載されている接続管理要件に加えて、BEA WebLogic Server は、接続プールのサイズをコンフィグレーションして自動的に維持するオプション設定とサービスを提供します。
ManagedConnection 作成に関する実行時パフォーマンス コストの最小化
ManagedConnection の作成では、ManagedConnection が表すエンタープライズ情報システム(EIS)の複雑さに応じて大きなコストが発生します。そのため、WebLogic Server の起動時に接続プールに初期数の ManagedConnection を登録し、実行時には作成しないようにします。この設定は、weblogic-ra.xml
記述子ファイルの initial-capacity 要素を使用してコンフィグレーションします。この要素のデフォルト値は、1 ManagedConnection です。
「J2EE コネクタ仕様、バージョン 1.0、最終草案 2」に記されているように、アプリケーション コンポーネントがリソース アダプタを使用して EIS との接続を要求すると、WebLogic Server はまず、接続プール内で利用可能な ManagedConnection の中で要求されている接続タイプと一致するものがないか探します。しかし、一致するものが見つからない場合には、新規の ManagedConnection を作成して接続リクエストに応じます。
WebLogic Server の設定を使用すると、一致するものがない場合に ManagedConnection を自動的に追加作成できます。この機能により、時間の経過と共に増加する接続プールのサイズとサイズが増加するたびに低下するサーバのパフォーマンスを柔軟に制御できます。この設定は、weblogic-ra.xml
記述子ファイルの capacity-increment
要素を使用してコンフィグレーションします。デフォルト値は 1 ManagedConnection です。
WebLogic Server の起動時には開始セキュリティ プリンシパルまたはリクエスト コンテキスト情報が不明なので、initial-capacity
でコンフィグレーションされている初期数の ManagedConnection は、デフォルト サブジェクトと null
のクライアント リクエスト情報の入ったデフォルト セキュリティ コンテキストを使用して作成されます。capacity-increment
でコンフィグレーションされている数の ManagedConnection が追加作成される場合、最初の ManagedConnection は接続リクエストの既知の開始プリンシパルおよびクライアント リクエスト情報を使用して作成されます。残りの ManagedConnection は、capacity-increment
の制限に達するまで、最初の ManagedConnection を作成したときと同じデフォルト セキュリティ コンテキストを使用して作成されます。
デフォルト リソース プリンシパルのコンフィグレーションの詳細については、 セキュリティを参照してください。
接続プールの増加数の制御
ManagedConnection の追加に伴い、それぞれの ManagedConnection が消費するメモリやディスク領域などのシステム リソースも増えていきます。エンタープライズ情報システム(EIS)によっては、この消費量がシステム全般のパフォーマンスに影響します。WebLogic Server では、ManagedConnection がシステム リソースに与える影響を制御するため、割り当て済み ManagedConnection の最大許容数の設定をコンフィグレーションできます。
この設定は、weblogic-ra.xml
記述子ファイルの maximum-capacity
要素を使用してコンフィグレーションします。接続リクエスト中に ManagedConnection を(capacity-increment
が 2 以上の場合は複数)新規作成する必要がある場合、WebLogic Server が最大許容数を超えて ManagedConnection を作成することはありません。最大数に達すると、WebLogic Server は接続プールから ManagedConnection を再利用しようとします。ただし、再利用できる接続がない場合、再利用の試みが失敗したことと、接続リクエストが最大許容数の接続分のみ許可されることを示す警告がログに記録されます。maximum-capacity
のデフォルト値は 10 ManagedConnection です。
システム リソースの使用量の制御
ManagedConnection の最大数を設定すると、処理能力を超えた数の ManagedConnection を割り当てることが原因でサーバが過負荷になることはありませんが、常に必要に応じてシステム リソースの量を効率的に制御するわけではありません。WebLogic Server では、リソース アダプタのデプロイメント中に接続プール内の ManagedConnection の動作状況をモニタするサービスを利用できます。使用量が減少し、そのレベルで一定期間とどまっている場合、接続プールのサイズは継続的な接続リクエストを十分満たせるだけの量にまで縮小されます。
このシステム リソース使用量サービスはデフォルトで有効です。ただし、weblogic-ra.xml
記述子ファイルの shrinking-enabled
要素を false
に設定すると、このサービスを無効にできます。weblogic-ra.xml
記述子ファイルの shrink-period-minutes
要素を使用すると、WebLogic Server が接続プールのサイズを縮小する必要があるかどうかを計算し、縮小する必要がある場合に未使用の ManagedConnection をプールから削除する頻度を設定できます。この要素のデフォルト値は、15
分です。
接続リークの削除
「J2EE コネクタ仕様、バージョン 1.0、最終草案 2」に記載されているように、EIS 接続を終了すると、アプリケーション コンポーネントは接続解除リクエストを送信します。この時点で、WebLogic Server は必要なクリーンアップを実行し、接続を将来の接続リクエストで使用できるようにする必要があります。ただし、アプリケーション コンポーネントが接続解除に失敗した場合、接続プールが利用可能な接続を使い果たすため、将来の接続リクエストが失敗することがあります。
WebLogic Server では、設定されている使用時間が経過した ManagedConnection を自動的に閉じることによって、こうした事態を避けるためのサービスが用意されています。使用時間は、weblogic-ra.xml
記述子ファイルの connection-duration-time
要素で設定します。また、connection-cleanup-frequency
要素を使用すると、WebLogic Server が使用中の ManagedConnection の使用時間を計算し、設定時間を超えたものを閉じる頻度を設定できます。
接続リーク検出サービスを無効にするには、connection-cleanup-frequency
要素を -1
に設定します。デフォルトでは、このサービスは有効です。これらの要素で使用される単位は秒です。
Console を使用した接続プールのモニタ
BEA WebLogic Server Administration Console を使用してコネクタ接続中のすべての接続プールをモニタするには、以下の手順に従います。
接続プールの接続情報が選択したコネクタに関して右ペインに表示されます。
![]() |
![]() |
![]() |