cniDispatchThread

この関数は、別のスレッド・インスタンスを呼び出してユーザー定義メッセージ・フローの入力ノードを実行するために、 新しいメッセージ・フロー・スレッドをディスパッチします。 このメッセージ・フロー・スレッドは、 メッセージ・フローの「Additional Instances (追加インスタンス)」プロパティーの制御下で、 メッセージ・フローごとに保守されているスレッドのプールから割り振られます。 スレッドがすべて使用中のために使用できるスレッドがない場合、CCI_SUCCESS が戻され、 returnCode が CCI_NO_THREADS_AVAILABLE に設定されます。 これはエラーではありませんが、以下のいずれかであることを意味します。
  • メッセージ・フローが追加のスレッドを使用して実行されるように構成されていない。
  • 現在、構成されている追加のスレッドがすべて実行中である。

cniDispatchThread 関数は入力ノードからのみ発行することができます。 それ以外の場合に発行すると、CCI_FAILURE が戻され、 returnCode が CCI_INV_NODE_ENV に設定されます。

構文

int cniDispatchThread(
    int*                        returnCode,
  CciNode*     nodeObject);

パラメーター

returnCode
関数からの戻りコード (出力)。
nodeObject
WebSphere Business Integration Message Broker がスレッドを作成または再利用する際に実行されるノード・オブジェクトのアドレス。これは、cniCreateNodeContext インプリメンテーション関数が呼び出されたときに、 ノードに渡されます (入力)。

戻り値

  • スレッドが正常に割り振られると、CCI_SUCCESS が戻されて、returnCode が CCI_SUCCESS に設定されます。
  • メッセージ・フローのスレッド・プール内のスレッドが不十分であったために、 それらをディスパッチできなかった場合、CCI_SUCCESS が戻されて、 returnCode が CCI_NO_THREADS_AVAILABLE に設定されます。
  • この関数が入力ノード内から発行されなかった場合、CCI_FAILURE が戻されて、 returnCode が CCI_INV_NODE_ENV に設定されます。
  • これ以外のエラーが発生した場合は、CCI_FAILURE が戻され、returnCode がエラーの理由を示します。

  cniDispatchThread(&rcDispatch, ((NODE_CONTEXT_ST *)context)->nodeObject);

関連概念
ユーザー定義の入力ノード

関連タスク
C での入力ノードの作成

関連資料
C 言語ノード・ユーティリティー関数
cniCreateNodeContext