質問
トランザクション属性「SUPPORTS」の親スクリプトから、属性が「SUPPORTS」の子スクリプトを呼び出す場合、コネクションプールはどのように扱われますか?
回答
■HULFT Squareにおける「コネクションプール」の定義
HULFT Squareでは一般的なコネクションを再利用(コネクション使用後にプールに戻す)するコネクションプールとは異なり、トランザクションの有効範囲内で同一のセッションによりコネクションを払い出す管理をしており、これを「コネクションプール」と表現しています。
■内部トランザクションについて
スクリプトについてはトランザクション属性に関わらず、制御のためスクリプトの実行開始から終了までを「内部トランザクション」として管理しています。コネクションの制御についてもこの「内部トランザクション」が「コネクションプール」の生存期間に影響します。
■トランザクション属性「SUPPORTS」の親子スクリプト間での扱い
トランザクション属性「SUPPORTS」の親スクリプトから、属性が「SUPPORTS」の子スクリプトを呼び出す場合、「内部トランザクション」が引き継がれます。
そのため、子スクリプトも親と同一セッションによる「コネクションプール」により接続コネクションが管理されます。
■例外条件
ただし、スクリプトのトランザクション属性を「NEVER」に設定している場合は、コンポーネント単位でのコネクション管理となり、コネクションの生存期間もコンポーネント単位となります。
コメント
0件のコメント
記事コメントは受け付けていません。