ヘッダーをスキップ
Oracle® GoldenGate Application Adapters Oracle GoldenGateアダプタの管理
12c (12.1.2.1.1)
E67383-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

15 メッセージ配信プロパティ

この章では、ユーザー・イグジット・プロパティおよびJavaアプリケーション・プロパティのプロパティ・ファイルの構成に使用できるオプションについて説明します。

この章の内容は次のとおりです。

15.1 ユーザー・イグジット・プロパティ

次のプロパティでは、ログ・ファイルおよびロギングのタイプを設定します。

15.1.1 ロギング・プロパティ

ロギングは次のプロパティによって制御されます。

15.1.1.1 gg.log

使用されるロギングのタイプを指定します。Oracle GoldenGateアダプタのデフォルトの実装は、JDKオプションです。これは、java.util.logging (JUL)という名前の組込みJavaロギングです。その他のロギング・オプションは、log4jまたはlogbackです。

たとえば、ロギングのタイプをlog4jに設定するには、次のようにします。

gg.log=log4j 

ログ・ファイルは、インストールのレポート・サブディレクトリに作成されます。デフォルトのログ・ファイル名には、関連付けられているExtractのグループ名が含まれ、ファイル拡張子は.logです。

15.1.1.2 gg.log.level

すべてのモジュールを対象とする全体的なログ・レベルを指定します。構文は次のとおりです。

gg.log.level={ERROR|WARN|INFO|DEBUG}

ログ・レベルは次のように定義されています。

  • ERROR - エラーが発生した場合にのみメッセージを書き込ます。

  • WARN - エラーおよび警告メッセージを書き込みます。

  • INFO - エラー、警告および情報メッセージを書き込みます。

  • DEBUG - デバッグ・メッセージを含むすべてのメッセージを書き込みます。

デフォルトのロギング・レベルはINFOです。この場合、メッセージは、起動時、停止時および操作中に定期的に生成されます。レベルをDEBUGに切り替えると、メッセージが大量に生成され、パフォーマンスに影響する場合があります。たとえば、次の例ではグローバル・ロギング・レベルをINFOに設定します。

# global logging level
gg.log.level=INFO

15.1.1.3 gg.log.file

ログ・ファイルのパスを指定します。構文は次のとおりです。

gg.log.file=path_to_file

ここで、path_to_fileは完全に定義されたログ・ファイルの場所です。これによってログの名前の変更が可能になりますが、複数のExtractがある場合、誤って他のログを上書きすることがないようExtract名を含める必要があります。

15.1.1.4 gg.log.classpath

ロギングの実装に使用されるjarのクラスパスを指定します。

gg.log.classpath=path_to_jars

15.1.2 一般プロパティ

次のプロパティは、ライター・タイプのすべてのユーザー・イグジットに適用され、ユーザー・イグジット固有ではありません。

15.1.2.1 goldengate.userexit.writers

ライターの名前を指定します。これは常にjvmで、変更しないでください。

次に例を示します。

goldengate.userexit.writers=jvm

ファイル内の他のすべてのプロパティにライター名jvmを接頭辞として付けます。

15.1.2.2 goldengate.userexit.chkptprefix

チェックポイント・ファイル名に追加される接頭辞の文字列値を指定します。次に例を示します。

goldengate.userexit.chkptprefix=javaue_

15.1.2.3 goldengate.userexit.nochkpt

ユーザー・イグジット・チェックポイント・ファイルを無効または有効にします。デフォルトは、falseで、チェックポイント・ファイルは有効です。トランザクションがサポートされ、ターゲットで有効な場合、このプロパティをtrueに設定します。

たとえば、Javaアプリケーション・プロパティで、JMSがターゲットであり、JMSローカル・トランザクションが有効(デフォルト)の場合、goldengate.userexit.nochkpt=trueを設定してユーザー・イグジット・チェックポイント・ファイルを無効にします。ハンドラでlocalTx=falseを設定し、JMSトランザクションが無効な場合、goldengate.userexit.nochkpt=falseを設定してユーザー・イグジット・チェックポイント・ファイルを有効にします。

goldengate.userexit.nochkpt={true|false}

15.1.2.4 goldengate.userexit.usetargetcols

ターゲット列へのマッピングが可能かどうかを指定します。デフォルトはfalseで、ターゲット・マッピングなしです。

goldengate.userexit.usetargetcols={true|false}

15.1.3 JVM起動オプション

次のオプションでは、Java Runtime Environmentを構成します。特に、JVMで使用される最大メモリーを指定できます。Javaのメモリー不足エラーになる場合、これらの設定を編集します。

15.1.3.1 jvm.bootoptions

ユーザー・イグジットでJVMを起動する場合に適用されるクラス・パスおよび起動オプションを指定します。パスには、UNIX/Linuxの場合コロン(:)、Windowsの場合セミコロン(;)の区切り文字が必要です。ここでは、ヒープ・サイズ、クラスパスなど、JVMに対する様々なオプションを指定します。

  • -Xms: 初期Javaヒープ・サイズ

  • -Xmx: 最大Javaヒープ・サイズ

  • -Djava.class.path: 最低でもメイン・アプリケーションjarであるggjava.jarを指定するクラスパス。JMSプロバイダjarなどのその他のjarもここで指定できます。また、これらをJavaアプリケーション・プロパティ・ファイルで指定することもできます。

  • -verbose:jni: 詳細モードで実行します(JNI用)

次に例を示します(すべて1行に記述します)。

jvm.bootoptions= -Djava.class.path=ggjava/ggjava.jar 
-Dlog4j.configuration=my-log4j.properties -Xmx512m

log4j.configurationプロパティには、log4jプロパティ・ファイルの完全修飾URLを指定できます。デフォルトでは、このファイルはクラスパスで検索されます。独自のlog4j構成を使用することも、あらかじめ構成されたlog4j設定であるlog4j.properties(デフォルト・レベルのロギング)、debug-log4j.properties(デバッグ・ロギング)またはtrace-log4j.properties(非常に詳細なロギング)のいずれかを使用することもできます。

15.1.4 統計およびレポート

ユーザー・イグジットを使用すると、Extractは、イグジットによって処理されるレコードは無視されるとみなします。これによって、標準のOracle GoldenGateレポーティングは不完全になります。Java用Oracle GoldenGateでは、独自のレポートを追加し、この問題に対応します。

統計は、t秒ごとまたはnレコードごとに(両方が指定された場合、先に満たされた方の基準)、レポートされます。

ユーザー・イグジット共有ライブラリ(C側)によって保持されるレコードと、Javaライブラリから取得されるレコードの2セットの統計レコードがあります。Java側から受信されるレポートは、個々のハンドラによってフォーマットされ、返されます。

ユーザー・イグジット統計には、操作の総数、トランザクションとその速度が含まれます。

15.1.4.1 jvm.stats.display

統計のOracle GoldenGateレポート・ファイルおよびユーザー・イグジット・ログ・ファイルへの出力を制御します。

次の例では、これらの統計を出力します。

jvm.stats.display=true

15.1.4.2 jvm.stats.full

C側からの統計に加え、Java側からの統計の出力を制御します。

Java側の統計はより詳細ですが、オーバーヘッドも増えます。このため、統計のレポートの頻度が高い場合、詳細度の低いサマリーで十分です。stats.fullプロパティはfalseに設定することをお薦めします。

次の例では、C以外にJava統計を出力します。

jvm.stats.full=true

15.1.4.3 jvm.stats.time | jvm.stats.numrecs

統計がレポートされる間隔(秒)またはレコード数を指定します。デフォルトでは、毎時または10000レコードごと(いずれか先に起きた方)にレポートします。

たとえば、10分ごとまたは1000レコードごとにレポートするには、次のように指定します。

jvm.stats.time=600
jvm.stats.numrecs=1000

Javaアプリケーション統計は、ハンドラに依存します。

  • すべてのハンドラについて、少なくとも総経過時間、処理時間、操作数、トランザクション数があります。

  • JMSハンドラの場合、送受信されたバイト数合計もあります。

  • レポートはテンプレートを使用してカスタマイズできます。

15.2 Javaアプリケーション・プロパティ

Javaアプリケーション・プロパティ・ファイルで設定できるプロパティを次に定義します。

15.2.1 すべてのハンドラ用のプロパティ

次のプロパティがすべてのハンドラに適用されます。

15.2.1.1 gg.handlerlist

ハンドラ・リストは、アクティブ・ハンドラのカンマ区切りのリストです。これらの値はプロパティ・ファイルの以降の部分で使用され、各ハンドラが構成されます。次に例を示します。

gg.handlerlist=name1, name2
gg.handler.name1.propertyA=value1
gg.handler.name1.propertyB=value2
gg.handler.name1.propertyC=value3
gg.handler.name2.propertyA=value1
gg.handler.name2.propertyB=value2
gg.handler.name2.propertyC=value3

handlerlistプロパティを使用すると、完全に構成されたハンドラをプロパティ・ファイルに含めることができ、handlerlistから削除することで無効にすることができます。

15.2.1.2 gg.handler.name.type

このタイプのハンドラ。組込みハンドラ用にあらかじめ定義された値または完全修飾Javaクラス名です。構文は次のとおりです。

gg.handler.name.type={jms|jms_map|aq|singlefile|rollingfile|custom_java_class}

説明:

最後のハンドラ以外すべて、事前定義のハンドラです。

  • jms - トランザクション、操作およびメタデータをフォーマットされたメッセージとしてJMSプロバイダに送信します。

  • aq - トランザクション、操作およびメタデータをフォーマットされたメッセージとしてOracleアドバンスト・キューイング(AQ)に送信します。

  • jms_map - JMSマップ・メッセージを送信します。

  • singlefile - ディスク上の1つのファイルに書き込みますが、ファイルをロールしません。

  • rollingfile - トランザクション、操作およびメタデータをディスク上のファイルに書き込み、特定のサイズ、時間、またはその両方を超えると、ファイルをロールオーバーします。次に例を示します。

    gg.handler.name1.rolloverSize=5000000
    gg.handler.name1.rolloverTime=1m
    
    
  • custom_java_class - Java用Oracle GoldenGateのAbstractHandlerクラスを拡張する任意のクラス。トランザクション、操作、メタデータ・イベントを処理できます。

15.2.2 フォーマットされた出力用のプロパティ

次のプロパティは、フォーマットされた出力を生成できるすべてのハンドラに適用されます。これには、次のようなものがあります。

  • jms_text handlerハンドラ(jms_map handlerハンドラではない)

  • aqハンドラ

  • フォーマットされた出力をファイルに書き込むsinglefileおよびrollingハンドラ

15.2.2.1 gg.handler.name.format

操作およびトランザクションをJMSまたはファイルに送信するメッセージに変換するために使用される形式を指定します。形式はハンドラごとに一意に指定されます。値は次のとおりです。

  • Velocityテンプレート

  • Javaクラス名(完全修飾。指定されるクラスはフォーマッタのタイプである必要があります)

  • 区切られた値の場合のcsv(カンマ区切り値など。デリミタはカスタマイズできます)

  • 固定長フィールドの場合のfixed

  • 次のような組込みフォーマッタ

    • xml - デモXML形式(この形式は今後のリリースで変更される可能性があります)

    • xml2 - 内部XML形式(この形式は今後のリリースで変更される可能性があります)

たとえば、カスタムJavaクラスを指定するには、次のようにします。

gg.handlerlist=abc
gg.handler.abc.format=com.mycompany.MyFormat

Velocityテンプレートの場合、次のようにします。

gg.handlerlist=xyz
gg.handler.xyz.format=path/to/sample.vm

テンプレートを使用する場合、クラスパス内のディレクトリまたはjarを基準にファイルが検索されます。デフォルトでは、Oracle GoldenGateインストール・ディレクトリがクラスパス内にあるため、前述のテンプレートは、Oracle GoldenGateのインストール場所のdirprmディレクトリに配置できます。

デフォルトの形式は、組込みXMLフォーマッタを使用することです。

15.2.2.2 gg.handler.name.includeTables

このハンドラによって含められる表のリストを指定します。

表のスキーマ(または所有者)が指定される場合、そのスキーマのみが表名に一致します。それ以外の場合、表名は任意のスキーマに一致します。表のカンマ区切りのリストを指定できます。たとえば、ハンドラに表foo.customerおよびbar.ordersのみを処理させるには、次のようにします。

gg.handler.myhandler.includeTables=foo.customer, bar.orders

表のカタログおよびスキーマ(または所有者)が指定される場合、そのスキーマのみが表名に一致します。それ以外の場合、表名は任意のカタログおよびスキーマに一致します。表のカンマ区切りのリストを指定できます。たとえば、ハンドラに表dbo.foo.customerおよびdbo.bar.ordersのみを処理させるには、次のようにします。

gg.handler.myhandler.includeTables=dbo.foo.customer, dbo.bar.orders

注意:

表単位で表での操作を選択的に処理するには、ハンドラは操作モードで処理している必要があります。ハンドラがトランザクション・モードで処理しており、1つのトランザクションに複数の表にまたがる複数の操作が含まれている場合、いずれかの表が表のリストに一致すれば、トランザクションは含められます。

15.2.2.3 gg.handler.name.excludeTables

このハンドラによって除外される表のリストを指定します。

表のスキーマ(または所有者)が指定される場合、そのスキーマのみが表名に一致します。それ以外の場合、表名は任意のスキーマに一致します。表のリストはカンマ区切りで指定されます。たとえば、すべてのスキーマの表date_modified以外のすべての表に対するすべての操作をハンドラが処理するには、次のようにします。

gg.handler.myhandler.excludeTables=date_modified

表のカタログおよびスキーマ(または所有者)が指定される場合、そのスキーマのみが表名に一致します。それ以外の場合、表名は任意のカタログおよびスキーマに一致します。表のリストはカンマ区切りで指定されます。たとえば、カタログdboおよびスキーマbarの表date_modified以外のすべての表に対するすべての操作をハンドラが処理するには、次のようにします。

gg.handler.myhandler.excludeTables=dbo.bar.date_modified

15.2.2.4 gg.handler.name.mode、gg.handler.name.format.mode

1メッセージ当たり1つの操作を出力する(op)か、1メッセージ当たり1つのトランザクションを出力する(tx)か指定します。デフォルトは、opです。カスタム・フォーマッタの場合、gg.handler.name.format.modeを使用します。


注意:

グループ・トランザクション・プロパティを使用する場合、このプロパティを1メッセージ当たり1トランザクション(tx)に設定する必要があります。1メッセージ当たり1操作(op)に設定した場合、gg.handler.name.minGroupSizeおよびgg.handler.name.maxGroupSizeは無視されます。

15.2.3 CSVおよび固定形式の出力用プロパティ

ハンドラがCSVまたはfixed形式の出力を使用するよう設定されている場合、次のプロパティも設定されます。

15.2.3.1 gg.handler.name.format.delim

フィールド間に使用するデリミタを指定します。これに値を設定しない場合、デリミタは使用されません。次に例を示します。

gg.handler.handler1.format.delim=,

15.2.3.2 gg.handler.name.format.quote

列値が引用符付きの場合、使用する引用文字を指定します。次に例を示します。

gg.handler.handler1.format.quote='

15.2.3.3 gg.handler.name.format.metacols

レコードの先頭、すべての列データの前に出現するメタデータ列値を指定します。次のものを出現順に指定します。

  • position - 証跡内のレコードの一意の位置インジケータ

  • opcode - レコードの挿入、更新または削除を表すIUまたはD(「insertChar」、「updateChar」、「deleteChar」を参照)

  • txind - 0=先頭、1=中間、2=末尾、3=トランザクション全体などのトランザクション・インジケータ(「beginTxChar」、「middleTxChar」、「endTxChar」、「wholeTxChar」を参照)

  • opcount - 0から始まるトランザクション内のレコードの位置

  • catalog – レコードのスキーマのカタログ

  • schema - レコードの表のスキーマ/所有者

  • tableonly - 表のみ(スキーマ/所有者なし)

  • table – 表の完全名、catalog.schema.table

  • timestamp - レコードのコミット・タイムスタンプ

次に例を示します。

gg.handler.handler1.format.metacols=opcode, table, txind, position

15.2.3.4 gg.handler.name.format.missingColumnChar

ソース・データベース・トランザクション・ログから取得されなかった列値に対する特別な列接頭辞を指定します。列値は証跡になく、値があるか、NULLかは不明です。

列値の欠落状態を表すために使用される文字はカスタマイズできます。次に例を示します。

gg.handler.handler1.format.missingColumnChar=M

デフォルトでは、欠落している列値には空の文字列が設定され、表示されません。

15.2.3.5 gg.handler.name.format.presentColumnChar

証跡にあり、NULLではない列値に対する特別な列接頭辞を指定します。

列の状態を表すために使用される文字はカスタマイズできます。次に例を示します。

gg.handler.handler1.format.presentColumnChar=P

デフォルトでは、存在している列値には空の文字列が設定され、表示されません。

15.2.3.6 gg.handler.name.format.nullColumnChar

証跡にあり、NULLに設定されている列値に対する特別な列接頭辞を指定します。

列の状態を表すために使用される文字はカスタマイズできます。次に例を示します。

gg.handler.handler1.format.nullColumnChar=N

デフォルトでは、nullの列値には空の文字列が設定され、表示されません。

15.2.3.7 gg.handler.name.format.beginTxChar

レコードをトランザクションの先頭と識別するために使用されるヘッダー・メタデータ文字(「metacols」を参照)を指定します。次に例を示します。

gg.handler.handler1.format.beginTxChar=B

15.2.3.8 gg.handler.name.format.middleTxChar

レコードをトランザクションの中間と識別するために使用されるヘッダー・メタデータ文字(「metacols」を参照)を指定します。次に例を示します。

gg.handler.handler1.format.middleTxChar=M

15.2.3.9 gg.handler.name.format.endTxChar

レコードをトランザクションの末尾と識別するために使用されるヘッダー・メタデータ文字(「metacols」を参照)を指定します。次に例を示します。

gg.handler.handler1.format.endTxChar=E

15.2.3.10 gg.handler.name.format.wholeTxChar

レコードを完全なトランザクション(トランザクション全体と呼ばれる)と識別するために使用されるヘッダー・メタデータ文字(「metacols」を参照)を指定します。次に例を示します。

gg.handler.handler1.format.wholeTxChar=W

15.2.3.11 gg.handler.name.format.insertChar

挿入操作を識別する文字を指定します。デフォルトは、Iです。

たとえば、挿入操作の場合、IのかわりにINSを使用するには、次のようにします。

gg.handler.handler1.format.insertChar=INS

15.2.3.12 gg.handler.name.format.updateChar

更新操作を識別する文字を指定します。デフォルトは、Uです。

たとえば、更新操作の場合、UのかわりにUPDを使用するには、次のようにします。

gg.handler.handler1.format.updateChar=UPD

15.2.3.13 gg.handler.name.format.deleteChar

削除操作を識別する文字を指定します。デフォルトは、Dです。

たとえば、削除操作の場合、DのかわりにDELを使用するには、次のようにします。

gg.handler.handler1.format.deleteChar=DEL

15.2.3.14 gg.handler.name.format.endOfLine

行末文字を指定します。

  • EOL - ネイティブ・プラットフォーム

  • CR - ニュートラル(UNIXスタイル\n)

  • CRLF - Windows (\r\n)

次に例を示します。

gg.handler.handler1.format.endOfLine=CR

15.2.3.15 gg.handler.name.format.justify

固定フィールドを左詰めにするか、右詰めにするかを指定します。次に例を示します。

gg.handler.handler1.format.justify=left

15.2.3.16 gg.handler.name.format.includeBefores

ビフォア・イメージを出力に含めるかどうかを制御します。証跡にビフォア・イメージがある必要があります。次に例を示します。

gg.handler.handler1.format.includeBefores=false

15.2.4 ファイル・ライター・プロパティ

次のプロパティは、出力をファイルに書き込むハンドラ(fileハンドラおよびsinglefileハンドラ)にのみ適用されます。

15.2.4.1 gg.handler.name.file

指定されたハンドラの出力ファイルの名前を指定します。ハンドラがローリング・ファイルの場合、この名前は、ロールされたファイルの名前の導出に使用されます。デフォルトのファイル名は、output.xmlです。

15.2.4.2 gg.handler.name.append

ファイルが追加(true)されるか、再起動時に上書き(false)されるかを制御します。

15.2.4.3 gg.handler.name.rolloverSize

ファイル・ハンドラを使用する場合、ロールオーバーが試行されるファイルのサイズを指定します。ファイル・サイズは最低このサイズですが、ほとんどの場合、これより大きいです。操作およびトランザクションはファイル間で分割されません。サイズはバイト数で指定されますが、接尾辞を指定してMBまたはKBを識別できます。次に例を示します。

gg.handler.myfile.rolloverSize=5MB

デフォルトのロールオーバー・サイズは、10MBです。

15.2.5 JMSハンドラ・プロパティ

次のプロパティがJMSハンドラに適用されます。これらの値のいくつかは、ハンドラの名前を使用してJavaアプリケーション・プロパティ・ファイルで定義できます。他のプロパティは、個別のJMSプロパティ・ファイルに含めることができますが、これは、一度に複数のJMSハンドラを使用する場合、有用です。次に例を示します。

gg.handler.myjms.type=jms_text
gg.handler.myjms.format=xml
gg.handler.myjms.properties=weblogic.properties

Velocityテンプレートおよびフォーマット・プロパティ・ファイル同様、この追加JMSプロパティ・ファイルはクラスパスで検索されます。dirprmディレクトリはデフォルトでクラスパスに含まれているため、前述のプロパティ・ファイルweblogic.propertiesは、{gg_install_dir}/dirprm/weblogic.propertiesにあります。

Javaアプリケーション・プロパティ・ファイルの設定は、追加のJMSプロパティ・ファイル(前述の例のweblogic.properties)で設定された対応する値をオーバーライドします。次の例では、宛先プロパティがJavaアプリケーション・プロパティ・ファイルで指定されています。これは、2つのハンドラmyjms1およびmyjms2に同じデフォルト接続情報を使用しますが、ターゲット宛先キューをカスタマイズします。

gg.handlerlist=myjms1,myjms2
gg.handler.myjms1.type=jms_text
gg.handler.myjms1.destination=queue.sampleA
gg.handler.myjms1.format=sample.vm
gg.handler.myjms1.properties=tibco-default.properties
gg.handler.myjms2.type=jms_map
gg.handler.myjms2.destination=queue.sampleB
gg.handler.myjms2.properties=tibco-default.properties

プロパティを設定するには、次のようにハンドラ名を接頭辞として指定します。

gg.handlerlist=sample
gg.handler.sample.type=jms_text
gg.handler.sample.format=my_template.vm
gg.handler.sample.destination=gg.myqueue
gg.handler.sample.queueortopic=queue
gg.handler.sample.connectionUrl=tcp://host:61616?jms.useAsyncSend=true
gg.handler.sample.useJndi=false
gg.handler.sample.connectionFactory=ConnectionFactory
gg.handler.sample.connectionFactoryClass=\
    org.apache.activemq.ActiveMQConnectionFactory
gg.handler.sample.timeToLive=50000

15.2.5.1 標準JMS設定

次に、設定可能なJMSプロパティと許容される値について簡単に説明します。これらは、jms_text (TextMessage)およびjms_map (MapMessage)の両方のJMSハンドラ・タイプに適用されます。

15.2.5.1.1 gg.handler.name.destination

メッセージが送信されるキューまたはトピック。これは、JMSサーバーで適切に構成される必要があります。一般的な値は、queue/Aqueue.Testexample.MyTopicなどです。

gg.handler.name.destination=queue_or_topic
15.2.5.1.2 gg.handler.name.user

(オプション)JMSサーバーへのメッセージの送信に必要なユーザー名。

gg.handler.name.user=user_name
15.2.5.1.3 gg.handler.name.password

(オプション)JMSサーバーへのメッセージの送信に必要なパスワード

gg.handler.name.password=password
15.2.5.1.4 gg.handler.name.queueOrTopic

ハンドラがキューに送信する(単一受信者)か、トピックに送信する(パブリッシュ/サブスクライブ)か。これは、JMSプロバイダで適切に構成される必要があります。このプロパティは、gg.handler.name.destinationの別名です。構文は次のとおりです。

gg.handler.name.queueOrTopic={queue|topic}

説明:

  • queue - メッセージは読み取られると、削除されます。これはデフォルトです。

  • topic - メッセージはパブリッシュされ、複数のサブスクライバに配信されます。

15.2.5.1.5 gg.handler.name.persistent

配信モードが永続に設定されているかどうか。メッセージが永続の場合、クライアントの送信操作の一環としてメッセージを安定的なストレージに記録するようJMSプロバイダを構成する必要があります。構文は次のとおりです。

gg.handler.name.persistent={true|false}
15.2.5.1.6 gg.handler.name.priority

JMSで、0を最低、9を最高とする10段階の優先度の値が定義されます。デフォルトでは優先度は4に設定されます。構文は次のとおりです。

gg.handler.name.priority=integer

次に例を示します。

gg.handler.name.priority=5
15.2.5.1.7 gg.handler.name.timeToLive

生成されたメッセージがメッセージ・システムによって保持される時間のディスパッチ時間からの長さ(ミリ秒)。値0は、時間が無制限であることを指定します。デフォルトは、0です。構文は次のとおりです。

gg.handler.name.timeToLive=milliseconds

次に例を示します。

gg.handler.name.timeToLive= 36000
15.2.5.1.8 gg.handler.name.connectionFactory

JNDIを介して検索する接続ファクトリの名前。ConnectionFactoryJNDINameは別名です。構文は次のとおりです。

gg.handler.name.connectionFactory=JNDI_name
15.2.5.1.9 gg.handler.name.useJndi

gg.handler.name.usejndifalseの場合、JNDIはJMSクライアントの構成に使用されません。かわりに、ファクトリおよび接続が明示的に構築されます。構文は次のとおりです。

gg.handler.name.useJndi={true|false}
15.2.5.1.10 gg.handler.name.connectionUrl

JNDIを使用しない場合にのみ接続URLを使用して明示的に接続を作成します。構文は次のとおりです。

gg.handler.name.connectionUrl=url
15.2.5.1.11 gg.handler.name.connectionFactoryClass

JNDIを使用しない場合にのみ接続ファクトリ・クラスを使用してファクトリにアクセスします。このプロパティの値は、ファクトリ・オブジェクトを明示的にインスタンス化および構築するJavaクラス名です。

gg.handler.name.connectionFactoryClass=java_class_name
15.2.5.1.12 gg.handler.name.localTX

ローカル・トランザクションを使用するかどうかを指定します。デフォルトはtrueで、ローカル・トランザクションが使用されます。構文は次のとおりです。

gg.handler.name.localTX={true|false}
15.2.5.1.13 gg.handlerlist.nop

JMSメッセージの送信を無効にし、メッセージ生成のテストをできるようにします。これは、テスト目的でのみ使用されるグローバル・プロパティです。イベントは従前どおり生成されて処理され、メッセージが構築されます。デフォルトはfalseで、メッセージの送信を無効にしません。構文は次のとおりです。

gg.handlerlist.nop={true|false}
15.2.5.1.14 gg.handler.name.physicalDestination

JNDIプロバイダではなくConnectionFactory APIから取得した、キューまたはトピック・オブジェクトの名前。

gg.handler.name.physicalDestination=queue_name

15.2.5.2 グループ・トランザクション・プロパティ

これらのプロパティは、トランザクションのグループ化に限度を設定します。


注意:

グループ・トランザクション・プロパティを使用する場合、次のようにする必要があります。
  • gg.handler.name.modeが1メッセージ当たり1トランザクション(tx)に設定されていることを確認します。そうではない場合、グループ・トランザクション・プロパティは無視されます。

  • goldengate.userexit.nochkptプロパティがfalseに設定されていることを確認します。

  • 操作のトランザクション・インジケータを無視し、トランザクション境界の決定に使用しません。

  • インストールごとに名前付きハンドラを1つのみ使用します。


15.2.5.2.1 gg.handler.name.minGroupSize

トランザクションが送信されるまでに累積される操作の最小数を指定します。

構文は次のとおりです。

gg.handler.name.minGroupSize=number_ops

説明:

  • number_opsは、トランザクションが送信されるまでに累積される操作の最小数を指定します。

最大許容値は、integer.MAX.VALUEまたは2147483647です。最小値は1です。

両方のプロパティを使用する場合、gg.handler.name.minGroupSizeに設定する値は、gg.handler.name.maxGroupSizeに設定する値以下である必要があります。

次の例では、送信までの最小操作数が50の場合をテストします。

gg.handler.name.minGroupSize=50
15.2.5.2.2 gg.handler.name.maxGroupSize

トランザクションの送信がトリガーされる操作の最大数を指定します。

構文は次のとおりです。

gg.handler.name.maxGroupSize=number_ops 

説明:

  • number_opsは、トランザクションが送信されるまでに累積される操作の最大数を指定します。

最大許容値は、integer.MAX.VALUEまたは2147483647です。最小値は1です。

両方のプロパティを使用する場合、gg.handler.name.minGroupSizeに設定する値は、gg.handler.name.maxGroupSizeに設定する値以下である必要があります。

次の例では、最大50個の操作に達すると送信されます。

gg.handler.name.maxGroupSize=50

15.2.6 JNDIプロパティ

これらのJNDIプロパティは、接続ファクトリと初期宛先を検索するための初期コンテキストへの接続に必要です。

java.naming.provider.url=url
java.naming.factory.initial=java-class-name

JNDIセキュリティが有効な場合、次のプロパティを設定できます。

java.naming.security.principal=user-name
java.naming.security.credentials=password-or-other-authenticator

次に例を示します。

java.naming.provider.url= t3://localhost:7001
java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
java.naming.security.principal=jndiuser
java.naming.security.credentials=jndipw

15.2.7 一般プロパティ

次のプロパティは、ユーザー・イグジットJavaフレームワーク用に使用される一般プロパティです。

15.2.7.1 gg.classpath

クラスパスに追加するディレクトリまたはjarの追加パスのカンマ区切りのリストを指定します。オプションで、Windowsシステムの場合はセミコロン、UNIXの場合はコロンでリストを区切ることができます。次に例を示します。

gg.classpath=C:\Program Files\MyProgram\bin;C:\Program Files\ProgramB\app\bin;

15.2.7.2 gg.report.time

統計を計算してExtractに送信し、レポートを処理する頻度を指定します。Extractがレポートを出力するよう構成されている場合、これらの統計が含められます。構文は次のとおりです。

gg.report.time=report_interval{s|m|h}

説明:

  • report_intervalは整数です。

  • 有効な時間単位は、次のとおりです。

    • s - 秒

    • m - 分

    • h - 時間

値が入力されない場合、デフォルトは24時間ごとの計算および送信です。