Sequence ノードを使用すると、メッセージ・フローに入れられるメッセージにシーケンス番号を追加できます。
メッセージ・シーケンスに関する概念トピックに目を通しておきます。
Sequence ノードは、ノードに到達する各入力メッセージに対して単純に増分するシーケンス番号を割り振ります。 各メッセージが Sequence ノードに到達するとシーケンス番号が増分し、「保管シーケンス番号へのパス」プロパティーで指定された場所にメッセージとともに保管されます。 シーケンス番号の割り振りは、「シーケンス定義の終了」プロパティーの指定内容に基づいてシーケンスが終了するまで続きます。
入力メッセージをメッセージ内で定義された ID に基づいて独立シーケンス・グループに分けることができます。 グループごとに別個のグループ ID を持ち、各グループ内のメッセージのシーケンスが独立して管理されます。
Sequence ノードはシーケンス・グループ内の各メッセージにシーケンス番号を割り振りますが、グループ内の現行メッセージの処理が (コミットされるかまたはロールバックされることにより) 終了するまで、グループ内の次のシーケンス番号は割り振られません。 これによって、メッセージ・フローに複数のスレッドがあっても、グループでの順序付けが維持されます。
メッセージを新たに割り当てたシーケンス番号とともに保存する必要があり (例えば、 別のフローで処理するために、メッセージを WebSphere® MQ に保存する 必要がある場合など)、メッセージ内にシーケンス番号の保存に適した場所がない場合は、 メッセージの Sequence ノードの前に MQRFH2 ヘッダーを追加して、 usr フォルダー内のフィールドにシーケンス番号を設定できます。
複数のシーケンス・グループを並列で独立して管理でき、ブローカーが再始動されてもシーケンス・グループ状態が保持されます。
以下のステップは、シーケンス・グループ内にある各メッセージにシーケンス番号を追加するメッセージ・フローの作成方法を示しています。