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

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

Sequence ノード

Sequence ノードを使用して、入力メッセージの 1 つ以上のグループにシーケンス番号を追加します。

このトピックには、以下のセクションが含まれています。

目的

Sequence ノードを使用すると、入力ソースからメッセージのグループを受け取り、各グループ内のメッセージの到着順序を保持できます。

Sequence ノードを使用すると、各シーケンス・グループに対して単純に増分するシーケンス番号を生成できます。 グループ内の各メッセージが Sequence ノードに到達すると、グループのシーケンス番号は増分し、 ノード・プロパティー「シーケンス番号を保管するパス」で指定された場所 (例えば、 LocalEnvironment、MQRFH2 ヘッダー、メッセージ本体) にメッセージとともに保管されます。

この順序付けは、同じシーケンス・グループ内のメッセージにのみ適用されます。 Sequence ノード内のプロパティーを使用すると、メッセージを特定の条件に従ってグループに編成できます。例えば、メッセージ内のカスタマー番号フィールド内の値が同じメッセージすべてをグループ化できます。 シーケンス・グループを指定しないと、すべてのメッセージに対して 1 つのデフォルト・グループが使用されます。

1 つの Sequence ノードは、メッセージ・フロー内の複数の入力ノードから、 または追加のインスタンスを持つ入力ノードから入力を受信できます。 Sequence ノードは、複数のシーケンス・グループを並列処理できますが、 同一シーケンス・グループに属するシーケンス番号の要求は、一度に 1 つしか 処理できません。

Sequence ノードはシーケンス・グループ内の各メッセージにシーケンス番号を割り振りますが、グループ内の現行メッセージの処理が (コミットされるかまたはロールバックされることにより) 終了するまで、グループ内の次のシーケンス番号は割り振られません。 Sequence ノードの下流で同一のシーケンス・グループ内のメッセージを処理できるスレッドは一度に 1 つだけです。 これによって、メッセージ・フローに複数のスレッドがあっても、 グループでの順序付けが維持されます。

Sequence ノードが複数のスレッドからメッセージを受信した場合、 メッセージが Sequence ノードに着信した順序が保持されます。 しかし、メッセージが Sequence ノードに着信した順序と、 メッセージが入力ノードによってトランスポートから取り出された順序は 異なることがあります。 この状態は、入力ノードから Sequence ノードまでの間で、 あるスレッドのメッセージを他のスレッドのメッセージが追い越すことが原因で発生 する可能性があります。

各シーケンス・グループは、1 つの Sequence ノードだけに関連付けできます。 複数の Sequence ノードで同じ名前のシーケンス・グループを保持できますが、 これらのシーケンス・グループはそれぞれ個別のグループとして処理されます。 シーケンス・グループ同士を区別するために、実行グループ名、メッセージ・フロー名、 ノード名、およびシーケンス・グループ名の組み合わせが使用されます。

例えば、eg1 という実行グループにデプロイされる、node1 という Sequence ノードを含んだ flow1 と いうメッセージ・フローがあるとします。 group1 というシーケンス・グループを使用して、メッセージがそのメッセージ・フローに送信されます。 結果は eg1/flow1/node1/group1 です。 完全に同一のメッセージ・フローが、異なる実行グループ (例えば eg2) にある場合は、eg2/flow1/node1/group1 という結果になります。

Sequence ノードはパレットの「ルーティング」ドロワーに含まれていて、WebSphere® Message Broker Toolkit 内では次のアイコンによって表されます。

Sequence ノード・アイコン

メッセージ・フロー内での Sequence ノードの使用

Sequence ノードの使用法については、次のサンプルを参照してください。

サンプルに関する情報は、WebSphere Message Broker Toolkit に統合されているインフォメーション・センター、またはオンライン・インフォメーション・センターを使用する場合にのみ表示できます。 サンプルは、WebSphere Message Broker Toolkit に統合されているインフォメーション・センターを使用する場合にのみ実行できます。

Sequence ノードの構成

Sequence ノードのインスタンスをメッセージ・フローに入れると、それを構成することができます。メッセージ・フロー・ノードの構成を参照してください。 ノードのプロパティーが、「プロパティー」ビューに表示されます。

デフォルト値が定義されていないすべての必須プロパティーには、アスタリスクのマークが付きます。

以下のように、Sequence ノードを構成します。

  1. オプション: 「説明」タブで、簡略説明詳細説明、あるいはその両方を入力します。 このタブで、ノードを名前変更することもできます。
  2. 「基本」タブで、メッセージ・シーケンスの制御方法を決定するプロパティーを設定します。
    • 「シーケンス番号を保管するパス」プロパティーを使用して、 メッセージのシーケンス番号を保存する場所を指定します。 その位置は、XPath 式として指定します。
    • 「シーケンス・グループ ID へのパス」プロパティーを使用して、シーケンス・グループ ID の場所を指定します。 その位置は、XPath 式として指定します。 グループ ID が同じメッセージは、同じシーケンス・グループに属していると見なされます。
    • 「シーケンス定義の開始」プロパティーを使用して、各グループの最初のシーケンス番号を指定します。 「リテラル」フィールドで、グループ中の先頭のシーケンス番号として正または負の数値を指定します。 デフォルト値は 0 です。

      特定のシーケンス・グループの最初のメッセージが Sequence ノードによって伝搬されると、指定された開始シーケンス番号を使用して先頭のシーケンス番号を割り当てます。連続しているメッセージには単調増加するシーケンス番号が含められます。 この値は、LocalEnvironment.Sequence.StartOfSequenceNumber 変数によって指定変更されます。

    • 「シーケンス定義の終了」プロパティーを使用して、各シーケンス・グループがいつ完了するかを指定します。
      • 「リテラル」を選択して、リテラル・シーケンス番号を指定します。 「シーケンス定義の開始」プロパティーの値よりも大きい正または負の数値を指定できます。 指定のシーケンス番号を持つメッセージが到着すると、シーケンス・グループが閉じます。
      • 「述部」を選択して、評価結果が True または False になる XPath 式を指定します (その結果によって、そのメッセージがシーケンスの末尾かどうかを判別できます)。 シーケンス内の最初のメッセージが判別された後も、シーケンスの終了の述部の評価結果が True になるまでは、そのシーケンス・グループのメッセージに引き続きシーケンス番号が割り当てられていきます。

        XPath 式が有効でも、その式がメッセージの中に存在しなければ、評価結果は False になり、シーケンス・グループ内の次のメッセージにシーケンス番号が割り当てられます。 述部の評価結果が True になると、そのメッセージがシーケンスの末尾になり、そのシーケンス・グループのシーケンスにさらにメッセージが割り当てられることはなくなります。

        XPath 式が無効な場合は、式が失敗し、メッセージがロールバックされます。

      • 「自動」を選択して、ノードのタイムアウト期間を指定します。 このオプションは、シーケンス・グループが閉じるまでに、ノードが空のキューにメッセージが到着するのを待機する長さ (秒単位) を指定します。 このオプションは、シーケンス内における最後の番号を判別できないアプリケーションで役に立ちます。 このタイマーは、伝搬を待機しているキューにメッセージが何もない場合に開始されます。 タイムアウト期間に達する前に新規メッセージが到達すると、タイマーは取り消されます。 指定の期間が終了する前に新規メッセージが到着しないと、このシーケンス・グループは閉じられて、このグループに対するその後のメッセージは、新しいグループの一部であると見なされます。
  3. 「拡張」タブで以下のようにします。
    • 「持続モード」プロパティーを使用して、シーケンス・グループ状態を永続的に保管するかどうかを指定します。 デフォルト値は「非持続」です。

ターミナルおよびプロパティー

Sequence ノードのターミナルについては、次の表に説明されています。

ターミナル 説明
In 着信メッセージ・アセンブリーがノードに到着する入力ターミナル。
Failure エラーが発生した場合にメッセージがルーティングされる出力ターミナル。 この値には、再試行処理が原因の障害も含まれます。
Out 出力メッセージがデフォルトで伝搬される出力ターミナル。

以下の表は、ノード・プロパティーについて説明しています。 M の見出しの列は、プロパティーが必須 かどうかを示します (デフォルトが定義されていない場合に値を入力する必要がある場合、アスタリスクのマークが付きます)。C の見出しの列は、プロパティーが構成可能 (メッセージ・フローを BAR ファイルに追加してデプロイするとき、値を変更できる) かどうかを示します。

Sequence ノードの「説明」プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
ノード名 いいえ いいえ Sequence ノードの名前。
簡略説明 いいえ いいえ   ノードの簡単な説明
詳細説明 いいえ いいえ   メッセージ・フロー内のノードの目的を説明するテキスト

Sequence ノードの基本プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
シーケンス番号を保管するパス いいえ いいえ
$OutputLocalEnvironment/
Sequence/Number
メッセージのシーケンス番号を保存する場所を指定する XPath 式。
シーケンス・グループ ID へのパス いいえ いいえ 未設定 シーケンス・グループ ID の場所を示す XPath 式。 グループ ID が同じメッセージは、同じシーケンス・グループに属していると見なされます。 このプロパティーは、Collector ノードにおける「相関パス」プロパティーと同じ方法で機能します。
シーケンス定義の開始 はい いいえ 0 各グループの最初のシーケンス番号を指定します。 有効な値は正または負の整数です。 デフォルト値は 0 です。
シーケンス定義の終わり はい いいえ 自動 各シーケンス・グループがいつ完了するかを指定します。 有効な値は以下のとおりです。
  • リテラル」および数値
  • 述部」および XPath
  • 自動」および時間 (秒単位)
デフォルトは「自動」です。

Sequence ノードの拡張プロパティーについては、次の表に説明されています。

プロパティー M C デフォルト 説明
持続モード はい いいえ 非持続 シーケンス・グループの状態を永続的に保管するかどうかを指定します。 有効なオプションは、以下のとおりです。
  • 非持続
  • 持続
ノードのモニター・プロパティーが、次の表に説明されています。
プロパティー M C デフォルト 説明
イベント いいえ いいえ なし ノードに対して定義したイベントが、このタブに表示されます。 デフォルトでは、メッセージ・フローのどのノードに対してもモニター・イベントは定義されません。 ノードのモニター・イベントを作成、変更、または削除するには、「追加」「編集」、および「削除」を使用します。詳しくは、モニター・プロパティーを使用したモニター・イベント・ソースの構成を参照してください。

「使用可能」チェック・ボックスを選択またはクリアすることによって、ここに表示されているイベントを使用可能および使用不可に設定できます。

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

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

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


参照トピック参照トピック | バージョン 8.0.0.5 | bc28010_