11.29.1 呼出し側と同じトランザクションでのサービス呼出し

トランザクション・モードになっている呼出し側が、現在のトランザクションに参加するために別のサービスを呼び出した場合、次のようになります。

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