WebSphere Application Server for z/OS, Version 6.1   
             オペレーティング・システム: z/OS

             目次と検索結果のパーソナライズ化

分離レベル設定の要件

この項では、EJB 2.x のモジュールを構成するデータ・アクセス・コンポーネントの分離レベルを設定する基準と、 その影響について説明します。

さまざまなコード仕様に対する分離レベル要件

Enterprise JavaBean (EJB) 1.1 のモジュールでは、メソッド・レベルまたは Bean レベルで 分離レベルを設定できます。この機能は、EJB 2.x のモジュール にアセンブルされる、 コンテナー管理パーシスタンス (CMP) 1.1 の Bean にも適用されます。 (WebSphere Application Server では、CMP Bean のデプロイメント記述子が、 モジュール全体のバージョンに関係なく、バージョン・レベル 1.1 を宣言することができます。)

ただし、メソッド・レベルまたは Bean レベルで分離レベルを設定する機能は、 EJB 2.x モジュール内の他のエンタープライズ Bean (CMP 2.x Bean など) には適用されません 。 WebSphere Application Server バージョン 5.0 では、 この機能を EJB 2.0 のモジュールから除去し、結果的に接続の効率を高めた アーキテクチャーを実現しています。

その結果、CMP 2.x Bean、セッション Bean、メッセージ駆動型 Bean、 および EJB 2.x モジュールにアセンブルされる Bean 管理パーシスタンス (BMP) Bean の 分離レベルを宣言する際に、本製品のバージョン 5.x および 6.x では 次のような制約が生じます。

2.x CMP Bean で使用される接続での分離レベル

EJB 2.x モジュールでは、CMP 2.x Bean が新規データ・ソースを使用して バックエンド・データベースにアクセスする際に、分離レベルは、 この Bean または呼び出しメソッドに割り当てられるアクセス・インテントのタイプに基づき、 WebSphere Application Server ランタイムによって決定されます。 その他の非 CMP 接続ユーザーも、この同じデータ・ソースにアクセスでき、 アクセス・インテントとアプリケーション・プロファイルのサポートを使用して、並行性制御を管理することができます。

他の 2.x エンタープライズ Bean および他の非 CMP コンポーネントで使用される接続

他のすべての JDBC 接続インスタンス (CMP Bean によって使用される接続を除く) では、 データ・ソース・リソース参照上で分離レベルを指定できます。 グローバル・トランザクションで実行される共用可能接続の場合は、 このメソッドが、接続の isolationLevel を設定する唯一の方法です。 グローバル・トランザクションで実行される共用可能接続で setTransactionIsolation() メソッドを介して、 分離レベルを直接設定できません。 接続で異なる分離レベルを使用するには、 異なるリソース参照を提供する必要があります。 これらのデフォルトは、アセンブリー・ツールから設定します。

各リソース参照は、1 つの分離レベルに関連しています。 ユーザーのアプリケーションがこのリソース参照の Java Naming and Directory Interface (JNDI) 名を使用して、 データ・ソースをルックアップする際に、 このリソース参照を使用してこのデータ・ソースから戻されるすべての接続の分離レベルは同じです。

複数の分離レベルを持つ共用可能接続を使用する必要があるコンポーネントは、 各リソース参照に異なる JNDI 名を指定して、複数のリソース参照を作成することができます。 また、そのコードを使用して、必要とする分離レベルの該当するデータ・ソースをルックアップできます。 このようにして、異なる分離レベルが使用可能になっている別々の接続を使用します。

これらの複数のリソース参照を、同じ構成済みデータ・ソースにマップすることができます。 この接続は、引き続き基礎となる同じプールから得られますが、 接続マネージャーは、異なる分離レベルを持つリソース参照が要求する接続の共用を許可しません。次のシナリオを考えてみます。 アプリケーションが表を更新する必要がある場合、 または BMP Bean が一部の属性を更新する場合、 アプリケーションは jdbc/RRResRef JNDI 名を使用して、データ・ソース・インスタンスをルックアップできます。 データ・ソース・インスタンスから戻されるすべての接続の分離レベルは、 RepeatableRead です。 アプリケーションが読み取り専用の照会を実行する場合は、 jdbc/RCResRef JNDI 名を使用してデータ・ソースをルックアップする方が適切です。

分離レベルを指定しない場合:

本製品では、非 CMP アプリケーション・モジュールの場合、 データ・ソース・リソース参照上で分離レベルを設定する必要はありません。 リソース参照で分離レベルを設定しない場合、あるいは TRANSACTION_NONE を設定する場合、 WebSphere Application Server ランタイムはそのデータ・ソースに対してデフォルトの分離レベルを使用します。 アプリケーション・サーバーは、JDBC ドライバーに基づくデフォルト設定を使用します。

ほとんどのドライバーでは、WebSphere Application Server は、 TRANSACTION_REPEATABLE_READ をデフォルトの分離レベルとして使用します。ただし Oracle ドライバーでは、 TRANSACTION_READ_COMMITTED という分離レベルが使用されます。次の早見表を参照してください。

データベース: DB2 Oracle Sybase Informix Cloudscape SQL Server
デフォルトの分離レベル:

(非 CMP エンティティーによる接続の場合)

RR RC RR RR RR RR



サブトピック
エンタープライズ Bean および Web モジュールのデータ・ソース・ルックアップ
データ・ソースの JNDI 直接ルックアップ方式および JNDI 間接ルックアップ方式
アクセス・インテントおよび分離レベル
関連概念
データ・ソース
共用不可能接続および共用可能接続
関連タスク
アセンブリー・ツールを使用したリソース参照の作成または変更
アプリケーション・クライアントからのデータへのアクセス
アプリケーション・クライアントのデータ・アクセスの構成
アセンブリー・ツールを使用したデータ・アクセス・アプリケーションのアセンブル
J2EE コネクター・アーキテクチャー・コネクターによるデータへのアクセス
現在の J2EE コネクター・アーキテクチャー (JCA) のデータ・ソースを使用するアプリケーションのマイグレーション
JDBC プロバイダーおよびデータ・ソースの構成
概念トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 9:12:22 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.zseries.doc/info/zseries/ae/cdat_isolevel.html