メッセージが特定の順序で受信側アプリケーションに送達されるようにするには、メッセージ・シーケンスを使用します。
WebSphere® Message Broker では、メッセージにシーケンス番号を追加したり、メッセージ・フロー内のメッセージをそれぞれのシーケンス番号に基づいて再配列したりすることができます。 メッセージは任意の順序で到達する可能性があり、Sequence ノードおよび Resequence ノードを使用して、必要なシーケンスにメッセージを再配列できます。
アプリケーションによっては、ワークフローの整合性を維持するために、メッセージを特定の順序で処理できることが重要になります。 例えば、銀行口座の一連の借方と貸方は、その発生順に処理されなければなりません。また、受け取り、処理、転送が行われる患者記録は、その到着順に送られなければなりません。
入力メッセージにシーケンス番号があるときは、Sequence ノードによって追加されたものであろうと、メッセージ内の整数フィールドでもともと定義されていたものであろうと、Resequence ノードを使用してメッセージ・フロー内のメッセージの順序を変更できます。
メッセージは Resequence ノードに到達すると、シーケンス内のそれ以前のすべてのメッセージが伝搬されてコミットされるまでは、ストレージ・キューに留まります。 各メッセージはシーケンス内で次のメッセージになると、キューから出て、Out ターミナルに伝搬されます。 この一連のイベントにより、メッセージの処理が失敗する場合であってもメッセージの順序が正しく保たれます。
これらのシナリオに対応する Resequence ノードを構成する方法については、未着メッセージの取り扱いを参照してください。
メッセージをシーケンス・グループごとに分割することもできます。それぞれのシーケンス・グループについては独立した処理が可能なので、同時に複数のシーケンスを処理することが可能になります。 シーケンス・グループと重複メッセージ処理の詳細については、シーケンス・グループを参照してください。
シーケンスの開始と終了を制御する方法の詳細については、メッセージ・シーケンスの開始を参照してください。