eXtreme Scale ユーザー出口記述子ファイル

eXtreme Scale CDC アダプターの動作を定義する構成属性です。

securityProps、overrideXML、clientProps など、ファイル・ロケーションを指定する属性では、以下のルックアップ優先順位が使用されます。
  1. システム・クラス・パスからファイルをロードします。
  2. ファイル・システムからファイルをロードします。
重要: パスは、Windows オペレーティング・システムの円記号をサポートしません。 円記号を使用している場合、パス内の円記号 (¥) をすべてエスケープする必要があります。 例えば、 C:\opt\ibm, enter C:\\opt\\ibmというパスを使用するとします。 スペースを含む Windows ディレクトリーはサポートされていません。 ${variable} を使用して、パス内で環境変数を指定できます。 以下に例を示します。
 ${APP_LOC}/config/userexit.xml

wxsUserExitConfig エレメント

wxsUserExitConfig エレメントは、XML ファイルの最上位レベルのエレメントです。 前の例で示されているように、 このエレメントを eXtreme Scale XML 文書に記述します。 このエレメントは、ファイルの名前空間とスキーマ・ロケーションをセットアップします。

  • 出現回数: 1 回
  • 子エレメント: domains エレメントおよび tableMappings エレメント

domains エレメント

domains エレメントは、すべての domain エレメントのコンテナーです。

  • 出現回数: 1 回
  • 子エレメント: domain エレメント

ドメイン・エレメント

domain エレメントを使用して、リモート ObjectGrid クラスターへの接続を定義します。

  • 出現回数: 1 回または複数回
  • 子エレメント: clientProperties エレメント
属性
name

ドメインを識別し、 tableMapping エレメントの domainRef 属性によって参照されます。 各 name は固有である必要があります。 domainRef 属性の値が 1 つの domain エレメントの name と一致しない場合、 XML 妥当性検査は失敗します。 任意の数の tableMapping エレメントが、単一の domain エレメントを参照できます。 (必須)

catalogEndPoints

クライアント・サイドの ObjectGrid インスタンスを取得するために接続するカタログ・サーバーを指定します。 値の形式は、host:port<,host:port> でなければなりません。 host は、カタログ・サーバーが実行されているリスナー・ホストです。 port は、そのカタログ・サーバー・プロセスのリスナー・ポートです。 (必須)

securityProps
このドメインのために使用されるセキュリティー・プロパティー・ファイルへのパスを指定します。
重要: パスは、Windows オペレーティング・システムの円記号をサポートしません。 円記号を使用している場合は、パス内の円記号 (&#xa5;) をすべてエスケープする必要があります。 例えば、 C:\opt\ibm, enter C:\\opt\\ibmというパスを使用するとします。 スペースを含む Windows ディレクトリーはサポートされていません。 ${variable} を使用して、パス内で環境変数を指定できます。 以下に例を示します。
 ${APP_LOC}/config/userexit.xml
overrideXML

このドメインのために使用されるオブジェクト・グリッド・オーバーライド xml へのパスを指定します。 (オプション)

重要: パスは、Windows オペレーティング・システムの円記号をサポートしません。 円記号を使用している場合は、パス内の円記号 (&#xa5;) をすべてエスケープする必要があります。 例えば、 C:\opt\ibm, enter C:\\opt\\ibmというパスを使用するとします。 スペースを含む Windows ディレクトリーはサポートされていません。 ${variable} を使用して、パス内で環境変数を指定できます。 以下に例を示します。
 ${APP_LOC}/config/userexit.xml
writeBehindConfig
このドメイン内のすべての ObjectGrid インスタンスへのすべてのイベントが非同期に実行されることを指定します。 後書きパラメーターは、最大更新時間と最大キー更新カウントから成ります。 後書きパラメーターの形式は "[T(time)][;][C(count)]" です。 次のいずれかのイベントが発生すると、リモート・データ・グリッドが更新されます。
  • 前回の更新が終わってから、最大更新時間 (秒単位で指定される) が経過した。
  • キュー・マップ内の使用可能な更新の数が最大更新カウントに達した。

clientProperties エレメント

clientProperties エレメントは、すべての objectGrid エレメントのコンテナーです。

  • 出現回数: 0 回または 1 回
  • 子エレメント: objectGrid エレメント

objectGrid エレメント

objectGrid エレメントを使用して、このオブジェクト・グリッド・インスタンスの任意のクライアント・プロパティーを指定します。

  • 出現回数: 1 回または複数回
  • 子エレメント: なし
属性
name

これらのプロパティーを適用するデータ・グリッドの名前。 (必須)

clientPropertyFile
このオブジェクト・グリッドによって使用されるクライアント・プロパティー・ファイルへのパスを指定します。 (必須)
重要: パスは、Windows オペレーティング・システムの円記号をサポートしません。 円記号を使用している場合は、パス内の円記号 (&#xa5;) をすべてエスケープする必要があります。 例えば、 C:\opt\ibm, enter C:\\opt\\ibmというパスを使用するとします。 スペースを含む Windows ディレクトリーはサポートされていません。 ${variable} を使用して、パス内で環境変数を指定できます。 以下に例を示します。
 ${APP_LOC}/config/userexit.xml

tableMappings エレメント

tableMappings エレメントは、すべての tableMapping エレメントのコンテナーです。

  • 出現回数: 1 回
  • 子エレメント: tableMapping エレメント

tableMapping エレメント

tableMapping エレメントを使用して、変更データ・キャプチャー・イベントが適用される eXtreme Scale データ・グリッドおよびマップを指定します。

  • 出現回数: 1 回または複数回
  • 子エレメント: keyMetaData エレメントおよび valueMetaData エレメント
属性
mapName
これらの変更データ・キャプチャー・イベントが適用されるバッキング・マップを指定します。 (必須)
objectGridName
バッキング・マップが存在するオブジェクト・グリッド・インスタンスの名前。 (必須)
domainRef
domain エレメントへの参照を指定します。 この属性の値は、いずれかの domain エレメントの name 属性と一致しなければなりません。 一致する name がない場合、妥当性検査は失敗します。 (必須)
convertToUpsert
insert 操作または update 操作の代わりに upsert 操作が実行されるかどうかを指定します。 (オプション)

デフォルト: False

mode

変更イベントの処理方法を指定します。 有効なモードは、PUSH、INVALIDATE、および REFRESH です。 (オプション)

PUSH: 変更データ・キャプチャー・イベントがそのまま適用されます。 マッピングについては、以下の表を参照してください。 convertToUpsert が true に設定されている場合、insert 操作および update 操作は upsert に変更されます。

INVALIDATE: 変更データ・キャプチャー・イベント Update および Delete は、 INVALIDATE 操作にマップされます。 Insert 変更データ・キャプチャー・イベントは無視されます。 アプリケーションによって行われるキーに対する次の get 操作は、 組織的にローダーからキーに値を設定します。 このモードは、ローダー実装があり、スパース・キャッシュを保持したい場合に使用してください。

REFRESH: このモードは、update 変更データ・キャプチャー・イベントに対して INVALIDATE 操作の後に get 操作が実行されることを除いて、INVALIDATE モードと同じです。

以下の表は、変更キャプチャー・イベントに対して実行されるデータ・グリッド操作のタイプをモード別に示します。
表 1. CDC に対するデータ・グリッド操作
  AFTER_INSERT イベント AFTER_UPDATE イベント AFTER_DELETE イベント
PUSH (デフォルト) Insert または Upsert Update または Upsert 除去
INVALIDATE なし 無効化 無効化
REFRESH なし 無効化および取得 無効化
重要: ローダー実装を使用するマップは、INVALIDATE モードまたは REFRESH モードのみを使用します。そうしないと、無限インライン・キャッシュ・クローズ・ループが発生するリスクがあります。 無限インライン・キャッシュ・クローズ・ループのシナリオについて詳しくは、「 WebSphere eXtreme Scale Change Data Capture Adapter for InfoSphere Data Replication」を参照してください。
maxRetryAttempts

変更データ・キャプチャー・イベントが再試行される回数を指定します。これを超えると失敗が返されます。 (オプション)

デフォルト: 0

transactionTimeout

トランザクションを完了するのに許されている時間を秒で指定します。 トランザクションがこの時間内に完了しなかった場合、 そのトランザクションはロールバック対象としてマークされ、TransactionTimeoutException 例外が発生します。 (オプション)

デフォルト: リモート・グリッド objectgrid.xml ファイル内に指定された txTimeout 値

transactionIsolation

ObjectGrid によって作成されたすべてのセッションのデフォルトのトランザクション分離レベルを設定します。 (オプション)

デフォルト: リモート・グリッド objectgrid.xml ファイル内に指定された txIsolation 値

keyMetaData エレメント

keyMetaData エレメントを使用して、キーを表すメタデータを指定します。

  • 出現回数: 1 回
  • 子エレメント: column エレメント
属性
className
キー・インスタンスを表す、インスタンス化するクラスの名前を指定します (オプション)。 指定される場合、 以下の条件のいずれかが存在していなければなりません。
  • このクラスには、どの列データがこのクラス・インスタンス内のフィールドまたはメソッドにバインドされるのかを指定するため、javax.persistence column アノテーションが付いている必要があります。
  • どの列がこのクラス・インスタンス内のどのフィールドまたはメソッドにバインドされるのかを判別するため、column エレメントの name 属性および propertyName 属性が指定される必要があります。
methodAccess

キー・オブジェクト・インスタンス内の永続データのイントロスペクトおよび設定を行うために、アダプターがフィールドとメソッドのどちらのアクセスを使用するのかを指定します。

値が false に設定されている場合、クラスのフィールドがイントロスペクトされます。 値が true に設定されている場合、クラスのメソッドがイントロスペクトされます。

valueMetaData エレメント

valueMetaData エレメントを使用して、値オブジェクトを表すメタデータを指定します。
  • 出現回数: 1 回
  • 子エレメント: column エレメント
属性
className
値インスタンスを表す、インスタンス化するクラスの名前を指定します (オプション)。 指定される場合、 以下の条件のいずれかが存在していなければなりません。
  • このクラスには、どの列データがこのクラス・インスタンス内のフィールドまたはメソッドにバインドされるのかを指定するため、javax.persistence column アノテーションが付いている必要があります。
  • どの列がこのクラス・インスタンス内のどのフィールドまたはメソッドにバインドされるのかを判別するため、column エレメントの name 属性および propertyName 属性が指定される必要があります。
methodAccess

キー・オブジェクト・インスタンス内の永続データのイントロスペクトおよび設定を行うために、アダプターがフィールドとメソッドのどちらのアクセスを使用するのかを指定します。

値が false に設定されている場合、クラスのフィールドがイントロスペクトされます。 値が true に設定されている場合、クラスのメソッドがイントロスペクトされます。

column エレメント

column エレメントを使用して、キーまたは値オブジェクト・インスタンスを表すために使用される列データを指定します。
  • 出現回数: 0 回から複数回
  • 子エレメント: なし
属性
name

キーまたは値オブジェクト・インスタンスとして使用される列の名前。 (オプション)

propertyName

この列がマップされる先のフィールドまたはメソッドの名前。 (オプション)