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

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

JDBC メディエーターのオプティミスティック並行性制御の定義

更新の衝突によって生じるトランザクションの問題を診断するには、JDBC DMS 用のオプティミスティック並行性制御 (OCC) ストラテジーを実装します。

このタスクについて

更新の衝突 は、 データ・グラフを取り込むクライアント・データが、そのデータ・グラフがクライアントの変更を 実行依頼する前にデータベース内で変更された場合に発生します。JDBC DMS を OCC 用に構成すると、 そのようなデータの衝突が発生した場合に、DMS は OCC 固有の例外を発行します。 OCC 例外には、行の元の値、行の現在値、および行の試行された値など、 衝突の詳細が含まれます。 クライアント・アプリケーションは、これらの値によって、衝突からリカバリーする方法を決定します。 例えば、アプリケーションはデータを再読み取りして、 トランザクションを再始動することができます。

ただし、1 つの例外が発生すると、 データ・グラフ・スキーマの深いところにあるために表示されない例外がさらに存在するかどうかを 知る方法はありません。

データ・メディエーター・サービスで OCC を有効にするには、 OCC 列をデータベース表に取り込む必要があります。

任意の表に OCC Integer 列を追加し、 この列がメタデータ内で OCC のために使用されるように指定します。 定義された OCC 衝突列は、メディエーターの排他使用のために予約されます。 表のために OCC 列が定義されていない場合、DMS は、衝突の更新をモニターせず、通知もしません。 このセットアップは、以下の汎用コード・セグメントにより作成されています。

プロシージャー

  1. OCC 列の作成
    Column collisionColumn = table.addIntegerColumn("OCC_COUNT");
    
  2. その列がヌル値を許可しないことの確認
     collisionColumn.setNullable(false);
    
  3. その列を表衝突列として指定
     table.setCollisionColumn(collisionColumn);

    衝突を起こして OCC 例外を実証する完全なコード例については、トピック例: OCC データの衝突および JDBC メディエーター例外の強制 を 参照してください。




関連概念
並行性制御
関連資料
JDBC メディエーター例外
例: OCC データの衝突および JDBC メディエーター例外の強制
タスク・トピック    

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

最終更新: Jan 21, 2008 10:52:11 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.zseries.doc/info/zseries/ae/tdat_sdoocc.html