WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

シーケンス・グループ

シーケンス・グループを使用して、Sequence ノードと Resequence ノードによる処理のためにメッセージをグループ化する方法を制御します。

デフォルトでは、Sequence および Resequence ノードに到着する すべてのメッセージが、単一シーケンス・グループの一部として配列されます。 ただし、メッセージ内のシーケンス・グループ ID に基づいてメッセージを複数の シーケンス・グループに分割し、その各シーケンス・グループを個別に配列する ことができます。 例えば、患者レコードを受信し、処理し、転送する メッセージ・フローがあるとします。 個々の患者についてレコードの順序を 維持することは重要ですが、患者相互間の順序を維持する必要はありません。 この場合、シーケンス・グループ ID は患者の名前または ID になります。

メッセージが属するグループは、メッセージ内で指定されるグループ ID によって判別されます。 Sequence および Resequence ノードの「シーケンス・グループ ID へのパス」プロパティーを使用して、メッセージ内のシーケンス・グループ ID の場所を指定できます。

グループ ID が同じメッセージは、同じシーケンス・グループに属していると見なされます。 シーケンス・グループを指定しないと、すべてのメッセージで 1 つのデフォルトのシーケンス・グループが使用されます。 ただし、「シーケンス・グループ ID へのパス」プロパティーがメッセージ内の存在しない場所を指定している場合は、エラーが発生します。

各シーケンス・グループは、1 つの Sequence ノードだけに関連付けできます。 複数のノードで同じ名前のシーケンス・グループを保持できますが、 これらのシーケンス・グループはそれぞれ 1 つのノードだけに関連付けられ、 別のノードの同じ名前を持つ他のグループとは切り離されます。 例えば、SequenceNode1 に GroupA という名前のシーケンス・グループがあり、 SequenceNode2 にも GroupA という名前のシーケンス・グループがあったとしても、 それらは個別のグループです。

クローズした後のシーケンス・グループを再利用することは可能ですが、 同じシーケンス・グループの 2 回のオカレンスがオーバーラップして、 予測不能な結果が生じるリスクがあります。

例えば、1 から 10 までの数字を含むシーケンス・グループがあり、その グループがほとんど間隔をおかずに 2 回使用される場合、シーケンス番号 1 の 2 回目のオカレンスが、 シーケンス番号 10 の最初のオカレンスより先に到着する可能性があります。 このような場合、メッセージ重複の例外が発生します。 こうした理由から、 Resequence ノードでは、1 つのグループ名は 1 セットのシーケンス番号だけに使用し、 再利用は避けることをお勧めします。 シーケンス・グループの再利用を決定した場合、 前回の使用が終了して十分な時間が経過していることが確認できる場合にのみ、 再利用するようにしてください。

グループの最初のオカレンスですべての番号が受信されていても、グループが クローズされる正確なタイミングを確実に判断することは困難な場合があります。 これは、ノードのダウンストリームで必要とされるすべての処理も含めて 最後のメッセージの処理が完全に終了した時点で初めて、グループがクローズされるためです。 すべての処理が完了しない限り、2 番目のオカレンスからのメッセージは いずれも重複として失敗します。 シーケンス・グループがオーバーラップし始めると、 メッセージが消失していないにもかかわらず、(1 回目のグループ使用と 2 回目のグループ使用の両方における) すべての メッセージを正しい順序で回復することは非常に難しくなります。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:48:39


概念トピック概念トピック | バージョン 8.0.0.5 | bc28021_