![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
トランザクション・ブランチ間でのロックの共有
異なるアプリケーション・サーバー上の複数のアプリケーション・コンポーネント が同じグローバル・トランザクションの下で、単一の DB2® データベース中のデータへの アクセスを共有できるように指定できます。異なるトランザクション・ブランチがグローバル・トランザクションの下でロックを 共有することを指定します。
これを行うには、アプリケーション内の共有される DB2 接続に対するリソース参照で ブランチ結合属性を設定します。
通常、複数のアプリケーション・コンポーネントがロックを共有できるのは、 それらのアプリケーション・コンポーネントが同じサーバー上に一緒に置かれている場合のみです。
トランザクション・ブランチ間でロックを共有するということは、同じトランザクション内にある、同じサーバーから、または異なるサーバーからの、 同じデータベースへの複数の DB2 Java™ Database Connectivity (JDBC) 接続が、 データにアクセスするときにロックを共有できることを意味します。このようにして、複数のコンポーネントが、タイムアウトやその他の望ましくない状態を引き起こすことなく、 データにアクセスできます。
トランザクション・ブランチ間でのロックの共有は、 2 つのサーバー上の 2 つの Enterprise JavaBeans (EJB) が、 データへの可視性およびそのデータへのロックを、1 つの分散トランザクション内で共有でき るという利点をもたらします。従って、共有されるデータ・アクセスは、 アプリケーション・コンポーネントのロケーションに依存しません。
<resource-ref name="jdbc/DataSource_LockSharing" branch-coupling="TIGHT"/>
ブランチ結合の値が指定されていない場合、
デフォルト値 loose が使用されます。つまり、トランザクション・ブランチは
ロックを共有しません。Rational® Application Developer ツール を使用して、アプリケーションの DB2 リソース参照でブランチ結合属性 を設定できます。詳しくは、Rational Application Developer インフォメーション・センターを参照してください。 アプリケーション・コンポーネントにはデプロイメント記述子が必要です。 アノテーションが使用された場合、この属性は指定できません。
- データベースは、分散オペレーティング・システムまたは z/OS® オペレーティング・システム上の DB2 でなければなりません。
- JDBC プロバイダーは、DB2 Using IBM® JCC Driver バージョン 3.51 以降、 バージョン 3.6 以降、またはバージョン 4.1 以降でなければなりません。
- 接続は、以下のいずれかへの JDBC タイプ 4 コネクティビティーを使用する必要があります。
- DB2 Universal Database™ (DB2 UDB) バージョン 8 以降
- DB2 UDB for z/OS プログラム一時修正 (PTF) UK27815 適用済みのバージョン 8 以降
- DB2 UDB for z/OS バージョン 9.1 フィックスパック 4 以降を適用済み
- DB2 UDB for z/OS バージョン 9.5 以降