COBOL2002 ユーザーズガイド
プログラム間の通信はメッセージの送受信によって行われます。また,コンピュータ間の情報およびデータの送受信も,メッセージの送受信によって行われます。メッセージには,テキストデータおよびバイナリデータを含めることができます。
トランザクションメッセージを使用すると,メッセージの送受信とほかの処理を一つにまとめることができます。トランザクションメッセージはトランザクションキューだけに送信できます。なお,COBOL2002のMSMQアクセス機能では,トランザクションメッセージ,およびトランザクションキューは使用できません。
メッセージには,ラベルを付けられます。付けられたラベルはプログラム中で使用できます。
メッセージにラベルを付ける場合,CBLMQSENDMSGサービスルーチンの呼び出し時に,データパラメタ領域の「メッセージのラベル」データ項目,および「メッセージのラベルのデータ長」データ項目を設定しておきます。
メッセージに付けられたラベルは,CBLMQRECEIVEMSGサービスルーチンを呼び出した後,データパラメタ領域の「メッセージのラベル」データ項目に格納されます。
メッセージの種類をメッセージの機能または性質によって表したものをメッセージクラスといいます。代表的なメッセージクラスを次に示します。
COBOL2002で生成できるメッセージは,すべて通常メッセージです。
メッセージクラスは,CBLMQRECEIVEMSGサービスルーチンを呼び出した後,インタフェース領域の「メッセージクラス」データ項目に格納されます。
メッセージの優先順位によって,緊急なメッセージなど重要度の高いメッセージを,重要度の低いメッセージよりも先に送信できます。メッセージの優先順位は0〜7の範囲で,0が最も優先順位が低く,7が最も優先順位が高くなります。
メッセージの優先順位を設定する場合,CBLMQSENDMSGサービスルーチンの呼び出し時に,インタフェース領域の「優先順位」データ項目を設定しておきます。
MSMQには高速と回復可能という2種類の配信方法があります。
メッセージの配信方法を設定する場合,CBLMQSENDMSGサービスルーチンの呼び出し時に,インタフェース領域の「配信方法」データ項目を設定しておきます。
メッセージのコピーを格納する処理をジャーナリングといいます。ジャーナリングされたメッセージは,ジャーナルキューに格納されます。
送信メッセージにジャーナリングを設定し,かつメッセージの送信が成功した場合,送信メッセージのコピーが送信側コンピュータのジャーナルキューに格納されます。
ジャーナリングする場合,CBLMQSENDMSGサービスルーチンの呼び出し時に,インタフェース領域の「ジャーナリング」データ項目を設定しておきます。
配信に失敗した,または配信できなくなったメッセージを配信不能メッセージといいます。配信不能メッセージは,配信不能メッセージキューに格納できます。ただし,送信元がメッセージを送信先のキューに送ることを許可されていない場合,配信不能メッセージは配信不能メッセージキューには格納されません。
配信不能メッセージを配信不能メッセージキューに格納する場合,CBLMQSENDMSGサービスルーチンの呼び出し時に,インタフェース領域の「配信不能メッセージ」データ項目を設定しておきます。
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.