機能説明
トランザクションを終了し、メッセージ処理をメッセージキューに反映します。
記述形式
---------------------------------------------------------------------------------------- #include "mqdapi.h" int mqd_commit(MQD_System *system, MQD_Environment *env) ----------------------------------------------------------------------------------------
パラメタ
mqd_connect関数から返されたMQDシステム情報へのポインタをそのまま指定します。
例外処理のための復帰情報へのポインタを指定します。エラー詳細コードに以下の値が返されます。復帰情報(MQD_Environment構造体)の詳細については、“8.4 復帰情報の説明”を参照してください。
MQD_ERR_SYNTAX, MQD_ERR_NOSYSTEM, MQD_ERR_NOCONNECT, MQD_ERR_NOTEOU, MQD_ERR_TRANMIX, MQD_ERR_NOBEGIN, MQD_ERR_IO, MQD_ERR_NOMEMORY, MQD_ERR_TRANFILE, MQD_ERR_MSGFILE, MQD_ERR_PURGEMSG
MQD_ERR_SYNTAX, MQD_ERR_NOSYSTEM, MQD_ERR_NOCONNECT, MQD_ERR_INVALIDAPI, MQD_ERR_NOTEOU, MQD_ERR_TRANMIX, MQD_ERR_NOBEGIN, MQD_ERR_IO, MQD_ERR_NOMEMORY, MQD_ERR_TRANFILE, MQD_ERR_MSGFILE, MQD_ERR_PURGEMSG
復帰値
本関数の処理結果が以下の復帰値で通知されます。
正常時: 0
異常時: -1
注意事項
トランザクションを終了するためには、MQDへ接続し、トランザクションを開始しておく必要があります。
mqd_commit関数は、以下の契機で実行すると、エラー詳細コード“MQD_ERR_NOTEOU”で復帰します。
接続しているメッセージキューに、ユニット途中までしか処理していないメッセージが存在するとき
グローバルトランザクション処理中にmqd_commit関数を実行すると、エラー詳細コード“MQD_ERR_TRANMIX”で復帰します。
mqd_commit関数がエラー詳細コード“MQD_ERR_TRANMIX”以外のエラーコードで復帰した場合、処理中のトランザクションはシステムから取り消されます。また、カーソル位置は保証されません。カーソルをメッセージキューの先頭メッセージに移動するためには、mqd_seekmsgを使用してください。トランザクション内でmqd_peekmsgexによる複数メッセージキューからのメッセージ参照を行っている場合には、mqd_disconnectqexを使用して複数メッセージキューから切断を行い、mqd_connectqexを使用して再度複数メッセージキューへ接続を行ってください。
当該アプリケーションがSymfoware/RDBトランザクション連携機能を使用している場合、本関数はエラー詳細コード“MQD_ERR_INVALIDAPI”で復帰します。