| トランザクション属性 | 呼び出し元トランザクションの制限 | 呼び出し元トランザクションの引き継ぎ | 説明 |
|---|---|---|---|
| NEVER |
以下のトランザクション属性のスクリプトからは呼び出すことができません。
|
呼び出し元トランザクションの引き継ぎは行いません。 | トランザクションはサポートしません。
また、呼び出し元はトランザクションをサポートしていない必要があります。 |
| NOT_SUPPORTED | 制限はありません。 すべてのトランザクション属性のスクリプトから呼び出すことができます。 |
呼び出し元トランザクションの引き継ぎは行いません。 | トランザクションはサポートしません。
また、呼び出し元のトランザクション属性に関わらず、そのトランザクションには参加しません。 |
| SUPPORTS | 制限はありません。 すべてのトランザクション属性のスクリプトから呼び出すことができます。 |
|
デフォルトの動作は、トランザクションをサポートしません。
また、呼び出し元のトランザクション属性によって、サポートする/しないが変わります。 スクリプトのトランザクション属性のデフォルト値です。 |
| REQUIRED | 制限はありません。 すべてのトランザクション属性のスクリプトから呼び出すことができます。 |
|
トランザクションをサポートします。
呼び出し元のトランザクション属性によって、動作が変わります。 |
| REQUIRES_NEW | 制限はありません。 すべてのトランザクション属性のスクリプトから呼び出すことができます。 |
呼び出し元がトランザクションをサポートしている/していないに関わらず、新規にトランザクションを開始します。 | トランザクションをサポートします。
常に新規にトランザクションを開始します。 |
| MANDATORY |
以下のトランザクション属性のスクリプトからは呼び出すことができません。
|
呼び出し元のトランザクションを引き継ぎ、同一のトランザクションとして動作します。 | トランザクションをサポートします。
また、呼び出し元は、必ずトランザクションをサポートしていなくてはなりません。 |
| トランザクション属性 | 設定の可否 | |
|---|---|---|
| 子スクリプト | 親スクリプト | |
| NEVER | NEVER | |
| NOT_SUPPORTED | ||
| SUPPORTS | ||
| REQUIRED | ||
| REQUIRES_NEW | ||
| MANDATORY | ||
| NOT_SUPPORTED | NEVER | |
| NOT_SUPPORTED | ||
| SUPPORTS | ||
| REQUIRED | ||
| REQUIRES_NEW | ||
| MANDATORY | ||
| SUPPORTS | NEVER | |
| NOT_SUPPORTED | ||
| SUPPORTS | ||
| REQUIRED | ||
| REQUIRES_NEW | ||
| MANDATORY | ||
| REQUIRED | NEVER | |
| NOT_SUPPORTED | ||
| SUPPORTS | ||
| REQUIRED | ||
| REQUIRES_NEW | ||
| MANDATORY | ||
| REQUIRES_NEW | NEVER | |
| NOT_SUPPORTED | ||
| SUPPORTS | ||
| REQUIRED | ||
| REQUIRES_NEW | ||
| MANDATORY | ||
| MANDATORY | NEVER | |
| NOT_SUPPORTED | ||
| SUPPORTS | SUPPORTSが設定された呼び出し元スクリプトが トランザクションをサポート している場合 |
|
| REQUIRED | ||
| REQUIRES_NEW | ||
| MANDATORY | ||
ファイル系アダプタは動作が異なります。
詳細については、「ファイル系アダプタのトランザクション」を参照してください。
トランザクションのサポートの有無については、各アダプタのヘルプ内「トランザクション」項を参照してください。
非XAリソースの場合
XAリソースの場合
ファイル系アダプタの書き込み処理でトランザクション参加時に、書き込み先のディレクトリに書き込み権限がない、ネットワークの寸断などでコミットに失敗した場合にはロールバックが行われません。