登録の段階で、ブローカーはどのリソースが使用可能で、どの LIL がそれらを供給できるかを発見します。この場合、使用可能なリソースはノードです。この段階は実行グループが開始する際に 始まります。LIL は実行グループの始動にロードされ、ブローカーはそれらに照会してどのリソースを LIL が 供給できるかを検出します。
登録段階で、ユーザー定義のノードが cniCreateNodeFactory を呼び出すときに、CciFactory 構造が 作成されます。
ユーザー定義の入力ノードのインスタンスは、mqsistart コマンドが実行グループ処理を開始 または再開する場合、またはノードに関連するメッセージ・フローがデプロイされる場合に作成されます。
この段階中に CciTerminal 構造が作成されます。この作成は cniCreateTerminal が呼び出されるときに 作成されます。
処理段階は、cniRun 関数がブローカーによって呼び出される際に開始します。 ブローカーは cniRun 関数を使用して、メッセージが定義される ドメインの決定、およびそのドメインへの関連パーサーの呼び出しを含む、メッセージの処理方法を 決定します。
スレッドが、メッセージ・フローのスレッド・プールから要求され、入力ノードの run メソッドで開始されます。 スレッドはブローカーのキュー・マネージャーに接続し、その存続期間中この接続を維持します。 スレッドが割り振られると、ノードがメッセージ処理ループに入り、メッセージの受信を待ちます。 これは、メッセージを受信するまでループを繰り返します。メッセージ・フローが複数のスレッドを使用するように構成されている場合、 スレッド・ディスパッチングが活動化されます。
これで、メッセージ・データのダウンストリームへの伝搬が可能になります。
ユーザー定義の入力ノードは、メッセージ・フローの再デプロイ時、または mqsistop が実行グループ処理の停止に使用される場合に破棄されます。cniDeleteNodeContext 関数をインプリメントすることによって、 ノードを破棄できます。
ユーザー定義の入力ノードがこれらの方法のいずれかで破棄される場合、 ノードが使用するメモリーを解放し、ソケットなど保留されていたリソースをリリースする 必要があります。