11.29.1 呼出し側と同じトランザクションでのサービス呼出し
トランザクション・モードになっている呼出し側が、現在のトランザクションに参加するために別のサービスを呼び出した場合、次のようになります。
-
tpreturn()
とtpforward()
は、トランザクションに参加しているサービスから呼び出されると、そのトランザクションのサービス部分をイニシエータによって中断またはコミットできる状態にします。 - 呼び出されたプロセスの成功や失敗は、現在のトランザクションに影響します。参加リソースで致命的なトランザクション・エラーが発生すると、現在のトランザクションは「中断のみ」にマークされます。
- 正常終了した参加リソースによって行われた処理が適用されるかどうかは、トランザクションの結果に依存します。つまり、トランザクションが中断された場合は、すべての参加リソースの処理は適用されません。
- 現在のトランザクションに参加するために別のサービスを呼び出すときに、
TPNOREPLY
フラグを使用することはできません。
親トピック: トランザクションのサンプル・シナリオ