WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

cciNodeCompletionCallback

cciNodeCompletionCallback 関数は、コールバックとして登録することができ、ノードがメッセージの処理を完了して制御をアップストリーム・ノードに戻すたびに呼び出されます。

cciNodeCompletionCallback 関数は、ユーザー出口の状態がアクティブの場合、コールバックが登録された実行グループ内で伝搬されるメッセージごとに呼び出されます。 コールバックを登録するには、この関数へのポインターを cciRegisterUserExit に渡される CCI_UE_VFT 構造の iFpNodeCompletionCallback フィールドに指定します。

例外が処理されなかったためにノードが完了した場合は、 reasonCode に CCI_EXCEPTION が戻され、cciGetLastExceptionData を呼び出すことによって、この例外の詳細を表示できます。

ノードが正常に完了した場合は (例外が catch または failure ターミナルで処理される場合を含む)、reasonCode に CCI_SUCCESS が戻されます。 この場合、cciGetLastExceptionData を呼び出すと、結果は予測不能です。

構文

typedef void (*cciNodeCompletionCallback)   (
                                 CciDataContext* userContext,
                                 CciMessage*     message,
                                 CciMessage*     localEnvironment,
                                 CciMessage*     exceptionList,
                                 CciMessage*     environment,
                                 CciConnection*  connection,
                                 int             reasonCode);

パラメーター

userContext (入力)
cciRegisterUserExit 関数に渡された値。
message
現在のメッセージ・オブジェクトへのハンドル。 現在のメッセージは、ノードに伝搬されたメッセージと、 以下の 1 つ以上の変更とを合わせたものです。
  • ノードの入力ルートに適用される変更
  • 直前の伝搬コールバックの際にユーザー出口から行われた変更
  • ノードが新しいメッセージを作成しない場合に、ダウンストリーム・ノード完了コールバックの際にユーザー出口から行われた変更。 例えば、出力ノード、「計算モード」が「LocalEnvironment」、 「例外」、または 例外と LocalEnvironment に設定された Compute ノード、 「出力データのロケーション」が LocalEnvironment に設定された要求ノードなどです。

ユーザー出口コードは、メッセージ・ツリー内のトランスポート・ヘッダーまたはプロパティー・エレメントを更新してはなりません。 メッセージを更新すると、パフォーマンスに影響を与えることがあります。 このコールバックの際に行われる変更は、アップストリーム・ノードによって新しいメッセージが作成されない場合にのみ表示されます。

localEnvironment
伝搬されるローカル環境オブジェクトへのハンドル。
exceptionList
伝搬される例外リスト・オブジェクトへのハンドル。
environment
現行メッセージ・フローの環境オブジェクトへのハンドル。
connection
2 つのノード間の接続オブジェクトへのハンドル。 ハンドルは、例えば、 cciGetSourceNodecciGetTargetNodecciGetSourceTerminalName、 および cciGetTargetTerminalName への呼び出しで使用できます。 このハンドルは、ユーザー出口関数のこのインスタンスの期間内のみ有効です。
reasonCode
ノードが通常どおり完了したか (CCI_SUCCESS)、 または例外が処理されなかったためにノードが完了したか (CCI_EXCEPTION) を示す理由コード。 例外が処理されなかったためにノードが完了した場合は、cciGetLastExceptionData を呼び出すことによって、この例外の詳細を表示できます。 ノードが正常に完了した場合は (例外が catch または failure ターミナルで処理される場合を含む)、 cciGetLastExceptionData を呼び出しても、結果は不明です。

戻り値

なし。

void myNodeCompletionCallback(
                                 CciDataContext* userContext,
                                 CciMessage*     message,
                                 CciMessage*     localEnvironment,
                                 CciMessage*     exceptionList,
                                 CciMessage*     environment,
                                 CciConnection*  connection
                                 int             reasonCode){
…
…
}
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:48:12


参照トピック参照トピック | バージョン 8.0.0.5 | as35940_