cniDispatchThread

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

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

構文

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

パラメーター

returnCode
関数からの戻りコード (出力)。
考えられる戻りコードは以下のとおりです。
  • CCI_SUCCESS
  • CCI_EXCEPTION
  • CCI_NO_THREADS_AVAILABLE
  • CCI_INV_NODE_OBJECT
  • CCI_INV_NODE_ENV
nodeObject
WebSphere 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);
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as07520_