グローバル整合トランザクションをサポートするための JMS ノードおよび SOAP ノードの構成

JMS ノードや SOAP ノードなど、JMS トランスポートを使用するメッセージ・フロー・ノードをグローバル整合済みトランザクションに組み入れるには、追加の構成を行う必要があります。

始める前に

グローバル整合トランザクションを使用するために SOAP ノードまたは JMS ノードで設定する必要があるプロパティーを理解するには、 ローカル・トランザクション用の JMS ノードおよび SOAP ノードの構成 を参照してください。
注: JMSトランスポートを使用するノードに対するグローバル( XA )トランザクションの調整は、そのノードを含むメッセージフローが、専用のキューマネージャーを持つ統合ノードにデプロイされている場合にのみサポートされます。統合ノードは、他の統合ノードとキューマネージャーを共有することはできません。

このタスクの概要

グローバル・トランザクション調整が必要な場合は、 Java™ Message Service Specification バージョン 1.1 または 2.0に準拠し、JMS セッションを介して JMS XAResource API をサポートする JMS プロバイダーを選択してください。

JMS プロバイダー・ポリシーを使用して独自の JMS プロバイダーを指定する場合、ポリシーの「XA をサポート (XA is supported)」プロパティーを true に設定して、選択した JMS プロバイダーが XA 整合トランザクションをサポートすることを示します。 このプロパティーが true に設定されていて、選択された JMS プロバイダーが XA トランザクションをサポートしない場合、例外が出されます。 このプロパティーが false に設定されているのに、ノードの「トランザクション・モード」プロパティーが「はい」に設定されていて、「整合トランザクション」メッセージ・フロー・プロパティーが選択されている場合、例外が出されます。

メッセージ設計者が XA に準拠しないプロバイダーを指定した場合、非トランザクション・モードのみサポートされます。 この場合、JMS トランスポートを使用するすべての JMS ノードおよび SOAP ノードに対して、 「トランザクション・モード」 プロパティーを 「なし」 に設定する必要があります。

分散システムにおいて、 IBM® MQ キューマネージャーは協調的なトランザクション処理機能を提供します。つまり、 IBM App Connect Enterprise は、フロー内のメッセージを処理する際、 IBM MQ にアクセスできる必要があります。 「 IBM MQ 」と「 IBM App Connect Enterprise 」の併用に関する詳細については、 『 IBM MQ のインストール』 を参照してください。

手順

メッセージ・フロー・ノードを構成するには、以下のステップを完了します。

  1. IBM App Connect Enterprise 」ツールキットで、 「Integration Development」パースペクティブに切り替えます。
  2. BAR ファイル・プロパティーで、 「整合トランザクション」 メッセージ・フロー・プロパティーの yesに設定します。
  3. メッセージフローエディタで、 XA の協調トランザクションで必要とされるJMSトランスポートを使用する各ノードについて、「 トランザクションモード 」プロパティを 「Yes」 に設定します。
  4. キュー接続ファクトリーを作成し、デフォルト名または回復XAQCF 、または独自の名前を入力してください。
    JNDI 管理対象オブジェクトの作成について詳しくは、 JNDI 管理対象オブジェクトを参照してください。
  5. トランザクション・コーディネーターを使用した XAResource の取得には、次の 2 つのモードがあります。
    1. 静的取得。これは、同一 Integration Bus 内のいずれかのメッセージ・フローがグローバル整合トランザクションを開始したときに、開始トランザクションを実行するため、XAResource が呼び出されることを意味します。
    2. 動的取得。実行すべき処理がある場合に JMS ノードがグローバル・トランザクションへの参加についてのインタレストを登録します。

    分散システムにデプロイする前に、使用する JMS プロバイダーごとにスタンザをセットアップする必要があります。 Windows の場合、JMS プロバイダー・スイッチ・ファイルの名前は DynJMSSwitch.dllです。 他のすべてのオペレーティング・システムでは、JMS プロバイダー・スイッチ・ファイルは、libDynJMSSwitch.so と呼ばれます。

    企業で使用しているオペレーティング・システムまたはシステムに対応するトピックの手順に従います。

次のタスク

JMS プロバイダーは、トランザクション・サポートに必要な追加の JAR ファイルを提供する場合があります。詳細については、JMS プロバイダーに付属の資料を参照してください。 たとえば、分散システムでは、 IBM MQ のJMSプロバイダが追加のJARファイルを提供しています。 com.ibm.mqetclient.jar

shared_classes ディレクトリーに任意の JAR ファイルを追加してください。

  • Linux プラットフォーム Linux および UNIXの場合: var/mqsi/shared-classes
  • Windows プラットフォーム Windows の場合: C:\ProgramData\IBM\MQSI\shared-classes

詳しくは、 JMSInput ノードの JMS ノードで JMS プロバイダー・クライアントを使用できるようにする方法に関するセクションを参照してください。