アプリケーションが 2 つ以上のリソースを使用する場合は、 グローバル・トランザクション内の 両方のリソース・マネージャーへの更新を調整するために、 外部トランザクション・マネージャーが必要になります。
グローバル・トランザクション・サポートは、 Web コンポーネントおよびエンタープライズ Bean J2EE コンポーネントと、一部制限はありますが、 アプリケーション・クライアント・コンポーネントに使用することができます。 エンタープライズ Bean コンポーネントはさらに、 コンテナー管理トランザクション (CMT) または Bean 管理トランザクション (BMT) を使用する Bean に分割することができます。
BMT エンタープライズ Bean、アプリケーション・クライアント・コンポーネント および Web コンポーネントでは、Java Transaction API (JTA) UserTransaction インターフェースを使用して、 グローバル・トランザクションの境界を定義できます。 UserTransaction インターフェースを取得するには、java:comp/UserTransaction の Java Naming and Directory Interface (JNDI) ルックアップを使用するか、または SessionContext オブジェクトから getUserTransaction メソッドを使用します。
UserTransaction インターフェースは、CMT エンタープライズ Bean には使用不可です。 CMT エンタープライズ Bean がこのインターフェースを取得しようとすると、Enterprise JavaBeans (EJB) 仕様に従って例外がスローされます。
UserTransaction インターフェースの JNDI ルックアップを実行するプログラムで、 そのインターフェースのローカル・インプリメンテーションに解決される InitialContext が使用されていることを確認します。 または、EJB のバージョンに適した JNDI ロケーションがそのようなプログラムで使用されていることも確認してください。
Web コンポーネントまたはエンタープライズ Bean (CMT または BMT) は、 java:comp/websphere/ExtendedJTATransaction のルックアップによって ExtendedJTATransaction インターフェースを取得できます。このインターフェースにより、トランザクション識別およびトランザクション完了の通知を受け取るためのメカニズムにアクセスできるようになります。