分散トランザクション処理機能 OpenTP1 解説

[目次][用語][索引][前へ][次へ]

3.3.5 通信形態に依存しないメッセージ

MHPまたはSPPから送受信できるメッセージについて説明します。

<この項の構成>
(1) 一方送信メッセージ
(2) メッセージの再送
(3) 同期型のメッセージ

(1) 一方送信メッセージ

OpenTP1のUAPから送信するメッセージです。一方送信メッセージを送信するときは,dc_mcf_send関数を使います。dc_mcf_send関数を呼び出したUAPのトランザクションがコミットしてから,実際に相手システムにメッセージが送信されます。

一方送信メッセージの概要を次の図に示します。

図3-31 一方送信メッセージの概要

[図データ]

(2) メッセージの再送

OpenTP1のUAPからいったん送信したメッセージを,再び送り直すことをメッセージの再送といいます。メッセージを再送するときは,dc_mcf_resend関数を使います。

(3) 同期型のメッセージ

同期型のメッセージとは,UAPからの関数呼び出しと同期してメッセージを送受信する形式のメッセージです。同期型のメッセージには,次に示す3種類があります。

(a) 同期送信

同期送信のメッセージを使うときは,dc_mcf_sendsync関数を呼び出します。UAPからdc_mcf_sendsync関数を呼び出すと,UAPの処理をいったん止めて,出力キューにメッセージが書き込まれます。そして,相手システムにメッセージを送信し終わってから,関数がリターンします。

(b) 同期受信

同期受信のメッセージを使うときは,dc_mcf_recvsync関数を呼び出します。UAPからdc_mcf_recvsync関数を呼び出すと,UAPの処理をいったん止めて,関数に指定したアプリケーション名へのメッセージを入力キューから探します。メッセージがある場合は,セグメントを受信して関数がリターンします。該当するメッセージがない場合は,送信されてくるまで待ちます。

(c) 同期送受信

同期送受信のメッセージを使うときは,dc_mcf_sendrecv関数を呼び出します。UAPからdc_mcf_sendrecv関数を呼び出すと,UAPの処理をいったん止めて,出力キューにメッセージが書き込まれます。そして,相手システムにメッセージを送信し終わってから,応答を自システムで受信し,その後,関数がリターンします。