メッセージ・フローに入れられるメッセージにシーケンス番号とグループ ID が含まれる場合、 Resequence ノードを使用して、メッセージの順序を再確立してから、 メッセージ・フローでメッセージを伝搬できます。
メッセージ・シーケンスに関する概念トピックに目を通しておきます。
各メッセージには、単純に増分するシーケンス番号が含まれることを確認します。
シーケンス番号は、Sequence ノードによってメッセージに追加されることもありますし、メッセージ内の別の整数フィールドである場合もあります。
Resequence ノードは、受信した入力メッセージがシーケンスで次に位置するメッセージである場合にのみ、 そのメッセージを伝搬します。 メッセージがシーケンスで次に位置するメッセージではない場合、Resequence ノードは、以降のメッセージが着信してシーケンスを修正できるようになるまでそのメッセージを保管し、修正できた時点で保管しておいたメッセージを伝搬します。 メッセージが到着できず、Resequence ノードがシーケンスを揃えられなかった場合、残りのメッセージは Resequence ノードが構成された方法に従って処理されます。 この構成について詳しくは、未着メッセージの取り扱いを参照してください。
Resequence ノードで、トランザクションの中断が発生します。 メッセージが Resequence ノードに送信されると、制御はメッセージ・フロー 内の前のノードに戻されます。 Resequence ノードから伝搬されるすべてのメッセージは、シーケンスが完全であっても、新規トランザクションで伝搬されます。 詳しくは、Resequence ノードを参照してください。
メッセージ・シーケンスは、ブローカーの再始動時に保持されます。 Resequence ノードの「拡張」タブで「持続」オプションを 選択すると、シーケンスはキュー・マネージャーの再始動時にも保持されます。
以下のステップは、シーケンス・グループ内にあるメッセージの順序の再確立を可能にするメッセージ・フローの作成方法を示しています。