cciTransactionEventCallback

これはコールバックとして登録できる関数であり、メッセージ・フロー・トランザクションが終了するたびに呼び出されます。 これは、ユーザー出口の状態がアクティブの場合、コールバックが登録された実行グループ内のメッセージ・フロー・トランザクションごとに呼び出されます。コールバックを登録するには、この関数へのポインターを cciRegisterUserExit に渡される CCI_UE_VFT 構造の iFpTransactionEventCallback フィールドに指定します。

構文

typedef void (*cciTransactionEventCallback) (
                                 CciDataContext*         userContext,
                                 CciTransactionEventType type,
                                 CciMessage* environment,
                                 CciNode* inputNode);

パラメーター

userContext (入力)
これは、cciRegisterUserExit 関数に渡された値です。
type
発生したイベントについて説明します。指定できる値は以下のとおりです。
  • CCI_TRANSACTION_EVENT_COMMIT

    トランザクションが正常にコミットされました。

  • CCI_TRANSACTION_EVENT_ROLLBACK

    トランザクションがロールバックされました。

例外が処理されなかったためにトランザクションがロールバックされた場合は、cciGetLastExceptionData を呼び出すことによって、この例外の詳細を表示できます。
environment
これは、現行メッセージ・フローの環境オブジェクトへのハンドルです。ユーザー出口はこのツリーを更新できますが、この関数から戻った後でクリアされるため、すべての更新が失われます。
inputNode
これは、トランザクションをトリガーした入力メッセージを読み取る入力ノードへのハンドルです。これを使用して、cciGetNodeNamecciGetNodeType、および cniGetBrokerInfo などの関数への呼び出しを行うことができます。

戻り値

なし

void myTransactionEventCallback(
                     CciDataContext*         userContext,
                     CciTransactionEventType type,
                     CciMessage* environment,
                     CciNode* inputNode){
…
…
}
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as35960_