Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 クライアント使用の手引 TP1/Client/W,TP1/Client/P編


2.4.3 リモートプロシジャコールの形態と同期点の関係

〈この項の構成〉

(1) 同期応答型RPCと同期点の関係

同期応答型RPCのトランザクション処理の場合,CUPに処理結果が戻って,同期点取得処理を終えた時点で,トランザクションの終了となります。

同期応答型RPCと同期点の関係を次の図に示します。

図2‒13 同期応答型RPCと同期点の関係

[図データ]

(2) 非応答型RPCと同期点の関係

非応答型RPCのトランザクション処理の場合は,CUPの同期点取得でSPPの処理終了を待ち,そのあとで同期点取得処理をします。

非応答型RPCと同期点の関係を次の図に示します。

図2‒14 非応答型RPCと同期点の関係

[図データ]

(3) 連鎖RPCと同期点の関係

連鎖RPCを使った場合は,一つのSPPのプロセスで実行します。したがって,トランザクションブランチも連鎖RPCを使った回数に関係なく,一つになります。

連鎖RPCのトランザクション処理の場合,同期点処理を終了した時点でトランザクションが終了して,処理していたSPPのプロセスは解放されます。

トランザクション実行中に非トランザクションの連鎖RPCを使った場合,通常は同期点処理を終了した時点で,処理していたSPPのプロセスを解放します。同期点処理の終了で処理していたSPPのプロセスを解放しないで,同期応答型RPCで解放する場合は,ユーザサービス定義のrpc_extend_functionオペランドに00000002を指定してください。

連鎖RPCと同期点の関係を,次の図に示します。

図2‒15 連鎖RPCと同期点の関係(トランザクションの連鎖RPC)

[図データ]

図2‒16 連鎖RPCと同期点の関係(非トランザクションの連鎖RPCで終了しない指定をした場合)

[図データ]