トランザクション機能を利用する際にはいくつかの注意事項があります。
トランザクションはスレッド単位に管理されます。
メッセージはユニット単位で扱ってください。ユニットの最後まで処理されていない場合には、トランザクションの終了時にエラーになります。
トランザクションの開始からトランザクションの終了までに扱えるメッセージの大きさに制限があります。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
メッセージへのカーソル位置はトランザクション機能の対象外です。トランザクションを取り消しても、カーソルは現在位置に留まります。