プライマリ・コンテンツへ移動
Oracle® Fusion Middleware Oracle GoldenGate for Big Dataの管理
リリース12c (12.3.0.1)
E85689-01
目次へ移動
目次

前
次

10 Java配信プロパティ

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

トピック:

10.1 共通プロパティ

次のプロパティは、ReplicatとExtractのどちらを使用するJava配信でも共通です。

10.1.1 ロギング・プロパティ

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

10.1.1.1 gg.log

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

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

gg.log=log4j 

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

<process name>_<log level>_log4j.log

したがって、Oracle GoldenGate Replicatプロセスはjavaueと呼ばれ、gg.log.leveldebugに設定されるため、ログ・ファイルの名前は次のようになります。

javaue_debug_log4j.log

10.1.1.2 gg.log.level

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

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

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

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

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

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

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

  • TRACE - 最高レベルのロギングで、すべてのメッセージが含まれます。

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

# global logging level
gg.log.level=INFO

10.1.1.3 gg.log.file

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

gg.log.file=path_to_file

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

10.1.1.4 gg.log.classpath

ロギングの実装に使用されるJARのクラスパスを指定します。ggjava.jarライブラリは必要なロギングの依存関係ライブラリを含んでいるため、この構成プロパティは通常、使用しません。

gg.log.classpath=path_to_jars

10.1.2 JVM Bootオプション

次のオプションでは、Java Runtime Environmentを構成します。Javaクラスパスとメモリーのオプションは構成可能です。

10.1.2.1 jvm.bootoptions

JVMの起動時に適用される初期Javaクラスパスおよびその他の起動オプションを指定します。java.class.pathには、UNIX/Linuxの場合コロン(:)、Windowsの場合セミコロン(;)の区切り文字が必要です。ここでは、初期および最大のヒープ・サイズ、クラスパスなど、JVMに対する様々なオプションを指定します。

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

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

  • -Djava.class.path: 最低でもメイン・アプリケーションJARであるggjava.jarを指定するクラスパス。JMSプロバイダJARなどのその他のJARもここで指定できます。また、これらをJavaアプリケーション・プロパティ・ファイルで指定することもできます。個別のlog4jプロパティ・ファイルを使用する場合、プロパティ・ファイルの場所が、起動オプション変数に含まれているbootoptions java.class.pathに含まれる必要があります。

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

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

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

log4j.configurationプロパティは、クラスパスの検索によって解決されるlog4jプロパティ・ファイルを示します。独自のlog4j構成を使用することも、あらかじめ構成されたlog4j設定であるlog4j.properties(デフォルト・レベルのロギング)、debug-log4j.properties(デバッグ・ロギング)またはtrace-log4j.properties(非常に詳細なロギング)のいずれかを使用することもできます。Replicatプロセスでlog4jロギングを使用するには、gg.log=log4jを設定する必要があります。

これらのファイルはすでにクラスパスに指定されているので、事前構成されたlog4j設定のいずれかを使用すれば、クラスパスの変更は必要ありません。-Djava.class.path変数には、*ワイルドカードを指定せずに、カスタムのlog4j構成ファイルを含むディレクトリへのパスが含まれている必要があります

10.2 配信プロパティ

次のプロパティはJava配信に使用可能です。

10.2.1 一般的なプロパティ

次のプロパティは、すべてのライター構成に適用されます。

10.2.1.1 goldengate.userexit.writers

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

次に例を示します。

goldengate.userexit.writers=jvm

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

10.2.1.2 goldengate.userexit.chkptprefix

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

goldengate.userexit.chkptprefix=javaue_

10.2.1.3 goldengate.userexit.nochkpt

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

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

goldengate.userexit.nochkpt=true|false

10.2.1.4 goldengate.userexit.usetargetcols

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

goldengate.userexit.usetargetcols=true|false

10.2.2 統計およびレポート

チェックポイント・ファイル処理を無効または有効にします。これによって、標準のOracle GoldenGateレポーティングは不完全になります。Java用Oracle GoldenGateでは、独自のレポートを追加し、この問題に対応します。

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

記録される統計には、Replicatモジュールによって保持されるものとJavaモジュールから取得されるものの2つがあります。Java側から受信されるレポートは、個々のハンドラによってフォーマットされ、返されます。

統計には、操作の合計数、トランザクションおよび対応するレートが含まれています。

10.2.2.1 jvm.stats.display

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

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

jvm.stats.display=true

10.2.2.2 jvm.stats.full

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

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

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

jvm.stats.full=true

10.2.2.3 jvm.stats.time | jvm.stats.numrecs

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

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

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

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

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

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

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

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

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

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

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

10.3.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から削除することで無効にすることができます。

10.3.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クラスを拡張する任意のクラス。トランザクション、操作、メタデータ・イベントを処理できます。

    Oracle GoldenGate for Big Dataパッケージには、各種ビッグ・データ・ターゲットに書き込むために事前義されたハンドラが、ほかにも用意されています。

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

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

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

  • aqハンドラ

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

  • 事前定義されたビッグ・データ・ハンドラ

10.3.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フォーマッタを使用することです。

10.3.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つのトランザクションに複数の表にまたがる複数の操作が含まれている場合、いずれかの表が表のリストに一致すれば、トランザクションは含められます。

10.3.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

10.3.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は無視されます。

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

ハンドラがコンマ区切り値(CSV) CSVまたはfixed形式の出力を使用するよう設定されている場合、次のプロパティも設定できます。

10.3.3.1 gg.handler.name.format.delim

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

gg.handler.handler1.format.delim=,

10.3.3.2 gg.handler.name.format.quote

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

gg.handler.handler1.format.quote='

10.3.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

10.3.3.4 gg.handler.name.format.missingColumnChar

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

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

gg.handler.handler1.format.missingColumnChar=M

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

10.3.3.5 gg.handler.name.format.presentColumnChar

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

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

gg.handler.handler1.format.presentColumnChar=P

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

10.3.3.6 gg.handler.name.format.nullColumnChar

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

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

gg.handler.handler1.format.nullColumnChar=N

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

10.3.3.7 gg.handler.name.format.beginTxChar

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

gg.handler.handler1.format.beginTxChar=B

10.3.3.8 gg.handler.name.format.middleTxChar

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

gg.handler.handler1.format.middleTxChar=M

10.3.3.9 gg.handler.name.format.endTxChar

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

gg.handler.handler1.format.endTxChar=E

10.3.3.10 gg.handler.name.format.wholeTxChar

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

gg.handler.handler1.format.wholeTxChar=W

10.3.3.11 gg.handler.name.format.insertChar

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

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

gg.handler.handler1.format.insertChar=INS

10.3.3.12 gg.handler.name.format.updateChar

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

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

gg.handler.handler1.format.updateChar=UPD

10.3.3.13 gg.handler.name.format.deleteChar

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

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

gg.handler.handler1.format.deleteChar=DEL

10.3.3.14 gg.handler.name.format.truncateChar

切捨て操作を識別する文字を指定します。デフォルトは、Tです。

たとえば、切捨て操作にTではなくTRUNCを使用するには、次のようにします。

gg.handler.handler1.format.truncateChar=TRUNC

10.3.3.15 gg.handler.name.format.endOfLine

行末文字を指定します。

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

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

  • CRLF - Windows (\r\n)

次に例を示します。

gg.handler.handler1.format.endOfLine=CR

10.3.3.16 gg.handler.name.format.justify

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

gg.handler.handler1.format.justify=left

10.3.3.17 gg.handler.name.format.includeBefores

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

gg.handler.handler1.format.includeBefores=false

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

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

10.3.4.1 gg.handler.name.file

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

10.3.4.2 gg.handler.name.append

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

10.3.4.3 gg.handler.name.rolloverSize

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

gg.handler.myfile.rolloverSize=5MB

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

10.3.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

10.3.5.1 標準JMS設定

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

10.3.5.1.1 gg.handler.name.destination

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

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

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

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

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

gg.handler.name.password=password
10.3.5.1.4 gg.handler.name.queueOrTopic

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

gg.handler.name.queueOrTopic=queue|topic

説明:

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

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

10.3.5.1.5 gg.handler.name.persistent

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

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

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

gg.handler.name.priority=integer

次に例を示します。

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

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

gg.handler.name.timeToLive=milliseconds

次に例を示します。

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

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

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

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

gg.handler.name.useJndi=true|false
10.3.5.1.10 gg.handler.name.connectionUrl

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

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

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

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

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

gg.handler.name.localTX=true|false
10.3.5.1.13 gg.handlerlist.nop

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

gg.handlerlist.nop=true|false

ユーザーはこのオプションを利用して、ハンドラ・モジュールを伴わずに処理する証跡レコードのパフォーマンスを測定できます。このアプローチを使うと、証跡レコードをターゲット・システムに適用するとき、パフォーマンスに問題が生じる可能性を下げられます。

10.3.5.1.14 gg.handler.name.physicalDestination

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

gg.handler.name.physicalDestination=queue_name

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

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

10.3.6 JNDIプロパティ

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

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

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

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

10.3.7 一般的なプロパティ

次のプロパティは、Javaフレームワーク用に使用される一般プロパティです。

10.3.7.1 gg.classpath

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

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

カスタムJava JAR、またはビッグ・データ・アプリケーションの外部依存関係へのパス指定を構成するには、このアダプタ・プロパティ・ファイル構成プロパティを使用する必要があります。

10.3.7.2 gg.report.time

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

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

説明:

  • report_intervalは整数です。

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

    • s - 秒

    • m - 分

    • h - 時間

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

10.3.7.3 gg.binaryencoding

バイナリ・エンコーディング・タイプを指定します。このプロパティを使用して、バイナリ・データの必要な出力エンコーディングを構成できます。次に例を示します。

gg.binaryencoding=base64|hex

デフォルト値はbase64です。バイナリ・データを表す有効な値は次のとおりです。

  • base64 - base64文字列 

  • hex - 16進数文字列

10.3.8 Java配信のトランザクションのグループ化

トランザクションのグループ化は、Java統合、特にビッグ・データ統合のパフォーマンスを大きく改善する場合があります。Java配信には、次のパラメータを使用してトランザクションのグループ化を実行する機能があります。Java配信がReplicatプロセスにホストされている場合、トランザクションのグループ化にはGROUPTRANSOPS Replicat構成を使用する必要があります。

注意:

グループ・トランザクション・プロパティを使用する場合、次のようにする必要があります。

  • gg.handler.name.modeがトランザクション・モード(tx)に設定されていることを確認します。そうではない場合、グループ・トランザクション・プロパティは無視されます。

  • Javaチェックポイント・ファイルが生成されるように、goldengate.userexit.nochkptプロパティがfalseに設定されていることを確認します。

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

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

10.3.8.1 gg.handler.name.minGroupSize

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

構文は次のとおりです。

gg.handler.name.minGroupSize=min_size

説明:

  • min_sizeには、トランザクションが送信されるまでに累積される操作の最小数を指定します。操作の回数、累積のメッセージ・サイズ、またはその両方を指定できます。

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

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

    次の例では、送信までの最小操作数が50、または累積メッセージ・サイズが10KBの場合をテストします。

    gg.handler.name.minGroupSize=50, 10k

10.3.8.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, 20K