Symfoware/RDBトランザクション連携機能を利用する際の適用条件を以下に示します。
メッセージ格納ファイルとしてデータベースを使用し、MQDのシステム環境を業務用データベースに作成する必要があります。また、使用できるデータベースは、サーバシステム上のデータベースです。他のサーバシステム上のデータベースは使用できません。
一つの業務用データベースに複数のMQDのシステム環境を作成することはできません。
データベースの排他は、“占有の単位を行とする”設定である必要があります。設定は、“3.2.3 データベース管理システムの設定”を参照してください。
本機能を使用するアプリケーションは、シングルスレッドで作成する必要があります。
使用できるメッセージ交換の形態は、1対1型です。一つのメッセージキューに対して複数のアプリケーションが同時にメッセージを送信しないようにしてください。同様に、一つのメッセージキューに対して複数のアプリケーションが同時にメッセージを受信しないようにしてください。
メッセージはユニット単位で扱ってください。ユニットの最後まで処理されていない場合には、受信側処理の動作は保証されません。
トランザクションの開始からトランザクションの終了までに扱えるメッセージの大きさに制限があります。1トランザクション当たりのメッセージの数は最大8192個、メッセージの容量(メッセージヘッダの長さとメッセージ本体の長さの総合計長)は最大64Mバイトです。
Interstageのグローバルトランザクション配下で実行中の場合には本機能を利用することはできません。
本機能を適用するプログラムインタフェイスは以下のとおりです。
MQDPUTMSGおよびmqd_putmsg
MQDGETMSGおよびmqd_getmsg
MQDPEEKMSGおよびmqd_peekmsg
MQDSEEKMSGおよびmqd_seekmsg
MQDDELETEMSGおよびmqd_deletemsg
MQDGETMSGEXおよびmqd_getmsgex
MQDPEEKMSGEXおよびmqd_peekmsgex
MQDSEEKMSGEXおよびmqd_seekmsgex
メッセージキューの作成や削除およびメッセージの一括削除は、mqdcrtqコマンド、mqddltqコマンド、mqdprgmsgコマンドを使用してください。プログラムインタフェースは使用できません。
メッセージへのカーソル位置は本機能の対象外です。トランザクションを取り消しても、カーソルは現在位置に留まります。