1.3.8 トランザクション制御用オブジェクトファイルの作成

OpenTP1下で動作するUAPがトランザクション内でリソースマネジャにアクセスする場合,そのUAPにトランザクション制御用オブジェクトファイルをリンケージする必要があります。

OpenTP1に登録されているすべてのリソースマネジャをアクセスするUAPの場合は,OpenTP1が提供する標準トランザクション制御用オブジェクトファイルのdc_trn_allrm.o(dcsetupコマンド実行時に作成され,trnlnkrmコマンド実行時に再作成される$DCDIR/spool/trnrmcmd/userobj下のファイル)をリンケージします。

OpenTP1に登録されている一部のリソースマネジャだけをアクセスするUAPの場合は,trnmkobjコマンドでトランザクション制御用オブジェクトファイルを作成して,UAPにリンケージします。

トランザクション内でリソースマネジャにアクセスしないUAPの場合は,トランザクション制御用オブジェクトファイルをリンケージする必要はありません。ただし,trnlnkrmコマンドでリソースマネジャの登録状態を変更した場合,標準トランザクション制御用オブジェクトファイルをリンケージしているUAPは,再びリンケージする必要があります。

ただし,グローバルトランザクションを構成するすべてのUAPに,同じリソースマネジャをリンケージすると,コミット処理を最適化(プロセス間通信を抑止)できて,トランザクション性能が向上します。

OpenTP1を開始する前に,トランザクション制御用オブジェクトファイルと,リソースマネジャが提供するXAインタフェース用オブジェクトファイルをUAPにリンケージしてください。