MessageQueueDirector説明書
目次 索引 前ページ次ページ

第1部 基本機能編> 第8章 プログラムインタフェース> 8.3 C言語インタフェース> 8.3.1 各インタフェースの説明

8.3.1.17 mqd_commit (トランザクションを終了する)

機能説明

 トランザクションを終了し、メッセージ処理をメッセージキューに反映します。

記述形式

----------------------------------------------------------------------------------------
      #include "mqdapi.h"
      int mqd_commit(MQD_System *system, MQD_Environment *env)
----------------------------------------------------------------------------------------

パラメタ

system

 mqd_connect関数から返されたMQDシステム情報へのポインタをそのまま指定します。

env

 例外処理のための復帰情報へのポインタを指定します。エラー詳細コードに以下の値が返されます。復帰情報(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

注意事項

  1.  トランザクションを終了するためには、MQDへ接続し、トランザクションを開始しておく必要があります。
  2.  mqd_commit関数は、以下の契機で実行すると、エラー詳細コード“MQD_ERR_NOTEOU”で復帰します。
  3.  グローバルトランザクション処理中にmqd_commit関数を実行すると、エラー詳細コード“MQD_ERR_TRANMIX”で復帰します。
  4.  mqd_commit関数がエラー詳細コード“MQD_ERR_TRANMIX”以外のエラーコードで復帰した場合、処理中のトランザクションはシステムから取り消されます。また、カーソル位置は保証されません。カーソルをメッセージキューの先頭メッセージに移動するためには、mqd_seekmsgを使用してください。トランザクション内でmqd_peekmsgexによる複数メッセージキューからのメッセージ参照を行っている場合には、mqd_disconnectqexを使用して複数メッセージキューから切断を行い、mqd_connectqexを使用して再度複数メッセージキューへ接続を行ってください。

  5.  当該アプリケーションがSymfoware/RDBトランザクション連携機能を使用している場合、本関数はエラー詳細コード“MQD_ERR_INVALIDAPI”で復帰します。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006