メッセージ・フローのトランザクション特性の構成

ローカルまたはグローバルのどちらのトランザクション内のメッセージも、メッセージが表すリソースがトランザクションにおいてどのように関与するかを決定する、メッセージ・フロー・ノード・プロパティーを設定することによって処理します。

始める前に

このタスクの概要

個々のメッセージ・フロー・ノードとメッセージ・フロー自体がどのようにトランザクションに関与するかは、メッセージ・フローを設計して開発する方法、および追加で実行する構成のレベルによって異なります。

  1. メッセージ・フロー内のメッセージ・フロー・ノード・プロパティーを構成して、トランザクションでの関与を必要なレベルに設定する必要があります。
  2. メッセージ・フローによって行われる更新が外部トランザクション・マネージャー (WebSphere® MQ) によってグローバルに整合されるようにするには、メッセージ・フロー・プロパティーを構成する必要があります。

    グローバル・トランザクションを使用するには、 IBM® Integration BusWebSphere MQにアクセスできる必要があります。 IBM Integration BusWebSphere MQ を使用する方法について詳しくは、 WebSphere MQ との対話の柔軟性の向上を参照してください。

メッセージ・フロー内のメッセージ・フロー・ノードを構成することにより、各ノードによって実行される処理がメッセージ・フロー・トランザクションにどのように関与するかを決定できます。 トランザクション特性が関係する大半のノードには、動作を指示するように構成できる 1 つ以上のプロパティーがあります。 したがって、個別のメッセージ・フロー・ノードごとに、メッセージ・フロー・トランザクションに参加するか、独立して作動するかを決定できます。 通常、これらのプロパティーには、「自動」のオプションが含まれており、フローの後続のノードは、入力ノードによって設定された特性を想定します。

トランザクションに参加できないトランスポートをサポートするメッセージ・フロー・ノードには、メッセージ・フロー障害が発生した場合の統合ノードの動作を決定する別のプロパティーがある場合があります。 例えば、 ファイル入力 ノードには、障害の動作を決定するために設定できる一連の 再試行 プロパティーがあります。

外部リソースと対話を行うメッセージ・フロー・ノードの中には、プロパティーを提供しないものもあります。一般に、これらのノードは、メッセージ・フロー・トランザクションに含まれています。 ただし、いくつかの例外があります。 フローに含めるノードごとに、関連するノードのトピックを調べ、ノード・プロパティーを確認して、どのようなアクションが実行されるのか確実に理解してください。

ノードがメッセージ・フロー・トランザクションに参加しないように構成した場合は、実行されるアクションはノードの終了時にコミットされるか、ロールバックされます。 メッセージ・フロー自体が完了すると、これ以上のアクションは実行されません。

ノード・プロパティーを設定することによって、トランザクションに関するメッセージ・フローの動作を構成するには、次のようにします。

手順

  1. 構成するメッセージ・フローを開きます。
  2. このメッセージ・フロー内の入力ノードの トランザクション・モード プロパティーを設定します。
    設定する値によって入力ノードの動作が決まり、残りのメッセージ・フローのデフォルト動作が決まります。 通常は、値「はい」または「いいえ」を選択できます。
    • はい」は、入力ノードが同期点でそれ自体の操作を完了することを意味します。 メッセージ・フローのデフォルトの動作として、アクションが同期点で実行されます。
    • いいえ」は、入力ノードが同期点以外でそれ自体の操作を完了することを意味します。 メッセージ・フローのデフォルトの動作として、アクションが同期点以外で実行されます。

    追加の値や代替値を持つノードもあります。 例えば、 MQ 入力 ノードのプロパティーを 自動に設定することができます。これは、メッセージが持続メッセージの場合はノードが同期点の下でメッセージを取得し、非持続メッセージの場合はノードが同期点の外でメッセージを取得することを意味します。

    各ノードのための特定のオプション、および各ノードが実行する特定のアクションについて詳しくは、関連するノードの参照トピックをご覧ください。 結果として得られる動作は、あらゆる入力ノード・タイプで同一というわけではないため、ノードの説明、ノードのプロパティー、およびプロパティーを設定するためのタブについて、よく確認してください。 または、以下の特定ノード・タイプの構成方法を読むこともできます。
  3. メッセージ・フローに外部リソースと対話を行うノード (出力、要求、または応答ノードを含む) が含まれている場合は、これらのノードのほとんどに対してトランザクション・プロパティーを設定できます。

    このプロパティーは、個々のノードの動作を、入力ノードで設定したメッセージ・フローのデフォルトの動作から変更する場合にのみ設定します。 このノードに対して設定した値は、メッセージ・フロー内の後続のノードに対して影響を与えません。 ノードにトランザクション・プロパティーがない場合は、その動作は入力ノードで設定したメッセージ・フローのデフォルト動作によって決まります。

    メッセージ・フローが単一のメッセージ・フロー内の複数のノードからデータベースを更新する場合は、 メッセージ・フロー・トランザクション を参照して、考えられる対話を理解してください。

    1. サポートされている場合は、各ノードの トランザクション プロパティーを設定します。
    2. エラーの処理方法を定義するプロパティーを設定します (サポートされている場合)。
      例えば、データベースにアクセスできる 計算 ノードなどのノードの場合、 警告をエラーとして扱う プロパティーと データベース・エラーで例外をスロー プロパティーを設定して、そのノードがデータベースの警告とエラーを処理する方法を定義します。 これらのプロパティーの選択の有無や、ノードの Failure ターミナルへの接続方法も、データベースの更新がどのようにコミットされるか、あるいはロールバックされるかに影響します。

メッセージ・フローを構成した後、このメッセージ・フローをデプロイするためには、まずこのメッセージ・フローを BAR ファイルに追加する必要があります。 メッセージ・フローを BAR ファイルに追加すると、メッセージ・フローがコンパイルされ、構成用に追加のプロパティーが使用可能になります。

分散システムでは、「整合トランザクション」プロパティーを使用して、グローバル整合トランザクション用に構成します。 デフォルトでは、このプロパティーはクリアされています (未選択)。つまり、メッセージ・フローはローカル・トランザクションを使用し、統合ノードがメッセージ・フロー・トランザクションをコミットまたはロールバックします。 このプロパティーを選択すると、トランザクションはグローバルに整合されます。入力ノードは、コミットおよびロールバック処理のために外部トランザクション・マネージャー WebSphere MQ を呼び出します。 z/OS® システム上で実行されている統合ノードにメッセージ・フローがデプロイされている場合、このプロパティーは無視されます。 詳しくは、 メッセージ・フロー・トランザクションのトピックの トランザクションの調整 セクションを参照してください。

「メッセージ・フロー」プロパティーを構成するには、次のようにします。

  1. メッセージ・フローを バー ファイルに追加します。
  2. バー ファイル・エディター・ビューの下の 管理および構成 タブを選択し、メッセージ・フローを選択します。
    バー ファイル内のメッセージ・フローの構成可能プロパティーは、「 プロパティー 」ビューに表示されます。

    メッセージ・フローをグローバル整合として構成するには、 コーディネーター・トランザクション を選択します。このプロパティーを設定すると、外部トランザクション・マネージャー (WebSphere MQ) は、キュー・マネージャーに対して定義したすべてのリソース・マネージャーとトランザクションを調整します。

    z/OS プラットフォーム z/OSでは、トランザクションは常にグローバルに整合されます。 メッセージ・フローの coordinatedTransaction プロパティーの設定は、無視されます。 整合はトランザクション・マネージャー RRS によって提供されます。

次のタスク

メッセージ・フローの設計および開発が完了したら、メッセージ・フローを実行させる 1 つ以上の統合ノードに BAR ファイルをデプロイできます。

メッセージ・フローをグローバル整合トランザクション用に構成している場合は、追加の構成が必要です。 お客様、またはシステム管理者は、メッセージ・フローを実行する前に、統合ノード環境、トランザクション・マネージャー、および参加するリソース・マネージャーが、整合済みのトランザクションをサポートするようにすべて正しく構成されていることを確認する必要があります。 何が必要かについて詳しくは、 トランザクションのグローバル整合の構成 (2 フェーズ・コミット)を参照してください。

統合ノード環境、トランザクション・マネージャー、および外部リソース・マネージャーがグローバル整合用に正しく構成されていないと、メッセージ・フローは実行されますが、トランザクションはグローバルに整合されません。