整合されるメッセージ・フローは、単一トランザクション内で実行します。トランザクションは、入力ノードがデータを受信した時点で開始し、すべての処理が完了した時点で、コミットまたはロールバックすることができます。
個々のノードとメッセージ・フロー自体がどのようにトランザクションに関与するかは、メッセージ・フローを設計して開発する方法、および追加で実行する構成のレベルによって異なります。
メッセージ・フローの設計および開発が完了すると、メッセージ・フローを実行するブローカーに BAR ファイルをデプロイできます。 ただし、メッセージ・フローをグローバルに調整されるトランザクション用に構成した場合、追加の構成が必要となることがあります。 お客様、またはシステム管理者は、メッセージ・フローを実行する前に、ブローカー環境、トランザクション・マネージャー、および参加するリソース・マネージャーが、整合済みのトランザクションをサポートするようにすべて正しく構成されていることを確認する必要があります。 必要な場合の詳細については、トランザクションのグローバル整合の構成 (2 フェーズ・コミット)を参照してください。
ブローカー環境、トランザクション・マネージャー、および外部リソース・マネージャーがグローバル整合用に正しく構成されていない場合には、メッセージ・フロー・トランザクションはグローバルに整合されません。
メッセージ・フロー内のノードを構成することにより、各ノードによって実行される作業がメッセージ・フロー・トランザクションに参加する方法を決定できます。 トランザクション特性が関係する大半のノードには、動作を指示するように構成できる 1 つ以上のプロパティーがあります。 したがって、個別のノードごとに、 メッセージ・フロー・トランザクションに参加するか、独立して作動するかを決定できます。 通常、これらのプロパティーには、「自動」のオプションが含まれており、フローの後続のノードは、入力ノードによって設定された特性を想定します。
トランザクションに参加できないトランスポートを サポートするノードは、メッセージ・フロー障害が発生した場合のブローカーの動作を決定するために別のプロパティーを持つ場合があります。 例えば、FileInput ノードには、障害動作を決定するために設定できる一連の「再試行」プロパティーがあります。
外部リソースと対話を行うノードの中には、プロパティーを提供しないものもあります。 一般に、これらのノードは、メッセージ・フロー・トランザクションに含まれていますが、いくつかの例外もあります。 フローに含めるノードごとに、プロパティーとその設定方法について説明するセクションをチェックし、どのアクションが実行されるかを確実に理解する必要があります。
ノードがメッセージ・フロー・トランザクションに参加しないように構成した場合は、実行されるアクションはノードの終了時にコミットされるか、ロールバックされます。 フロー自体が完了すると、これ以上のアクションは実行されません。
ノード・プロパティーを設定することによって、メッセージ・フローの動作を構成するには、次のようにします。
メッセージ・フローを構成した際には、このメッセージ・フローをデプロイする前に BAR ファイルに追加する必要があります。 これを BAR ファイルに追加すると、メッセージ・フローがコンパイルされ、構成用に追加のプロパティーが使用可能になります。
分散システム上のトランザクションに関係する最も重要なプロパティーは、 「整合トランザクション」です。 デフォルトでは、このプロパティーはクリアされています (未選択)。つまり、メッセージ・フローは部分的に整合され、ブローカーはメッセージ・フロー・トランザクションをコミットまたはロールバックします。 このプロパティーを選択すると、入力ノードは、コミットおよびロールバック処理のために、外部トランザクション・マネージャー WebSphere MQ を呼び出します。
このプロパティーは、メッセージ・フローが、z/OS® システムで実行中のブローカーにデプロイされた際は無視されます。
「メッセージ・フロー」プロパティーを構成するには、次のようにします。