TP1キャッシュ機能使用時,高速にメッセージを送受信するために,TP1/EE間でのシステム間通信をUDPプロトコルによって行います。これを,高速メッセージ送信制御といいます。
一般に,UDPプロトコルはコネクションを確立することなくメッセージの送受信ができる反面,メッセージが保証されないという問題があります。そのため,高速メッセージ送信制御では次のことを行ってメッセージを保証しています。
高速メッセージ送信制御では,次に示すメッセージを送受信できます。
なお,これらのメッセージを総称してMCHメッセージといいます。
トランザクション同期の一方送信メッセージとは,送信要求元トランザクションのコミット確定時に有効となり,トランザクションの延長で,同期点処理中(UAPリターン後)に送信するメッセージです。
クライアントUAPで,サービス要求に必要な項目をee_mch_cmtsend_sync関数に指定することで,サーバUAPにサービスを要求します。サーバUAPは複数のサービスを実行できます。
トランザクション同期の一方送信メッセージの特徴を次に示します。
トランザクション非同期の一方送信メッセージとは,送信要求元トランザクションのコミット確定後,トランザクション処理とは別のスレッド(送信スレッド)で送信するメッセージです。
クライアントUAPで,サービス要求に必要な項目をee_mch_cmtsend関数に指定することで,サーバUAPにサービスを要求します。サーバUAPは複数のサービスを実行できます。
トランザクション非同期の一方送信メッセージの特徴を次に示します。
高速メッセージ送信制御で使用するAPIの引数と定義には関連があります。APIと定義の指定には整合性を持たせてください。
APIの引数と定義の関連の例を次の図に示します。
図2-3 高速メッセージ送信で使用するAPIの引数と定義の関連の例
各定義の詳細については,「5.3 XTCサービス定義」を参照してください。
APIの詳細については,マニュアル「TP1/Server Base Enterprise Option プログラム作成の手引」を参照してください。
高速メッセージ送信制御では,UDPプロトコルを使用したクライアント/サーバ形態で通信します。
マルチキャストまたはユニキャストによってメッセージを送信できます。
マルチキャストまたはユニキャストによって送信されたメッセージを受信できます。メッセージはTP1/EE内の受信スレッドが受信して,処理キューに登録します。