10 Java配信プロパティ
この章の内容は次のとおりです。
トピック:
共通プロパティ
次のプロパティは、ReplicatとExtractのどちらを使用するJava配信でも共通です。
親トピック: Java配信のプロパティ
ロギング・プロパティ
ロギングは次のプロパティによって制御されます。
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.level
がdebug
に設定されるため、ログ・ファイルの名前は次のようになります。
javaue_debug_log4j.log
親トピック: ロギング・プロパティ
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
親トピック: ロギング・プロパティ
gg.log.file
ログ・ファイルのパスを指定します。構文は次のとおりです。
gg.log.file=path_to_file
ここで、path_to_file
は完全に定義されたログ・ファイルの場所です。これによってログの名前の変更が可能になりますが、複数のReplicatがある場合、誤って他のログを上書きすることがないようReplicat名を含める必要があります。
親トピック: ロギング・プロパティ
gg.log.classpath
ロギングの実装に使用されるJARのクラスパスを指定します。ggjava.jar
ライブラリは必要なロギングの依存関係ライブラリを含んでいるため、この構成プロパティは通常、使用しません。
gg.log.classpath=path_to_jars
親トピック: ロギング・プロパティ
JVM Bootオプション
次のオプションでは、Java Runtime Environmentを構成します。Javaクラスパスとメモリーのオプションは構成可能です。
親トピック: 共通プロパティ
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構成ファイルを含むディレクトリへのパスが含まれている必要があります
親トピック: JVM Bootオプション
配信プロパティ
次のプロパティはJava配信に使用可能です。
親トピック: Java配信のプロパティ
一般的なプロパティ
次のプロパティは、すべてのライター構成に適用されます。
- goldengate.userexit.writers
- goldengate.userexit.chkptprefix
- goldengate.userexit.nochkpt
- goldengate.userexit.usetargetcols
親トピック: 配信プロパティ
goldengate.userexit.writers
ライターの名前を指定します。これは常にjvm
で、変更しないでください。
次に例を示します。
goldengate.userexit.writers=jvm
ファイル内の他のすべてのプロパティにライター名jvm
を接頭辞として付けます。
親トピック: 一般的なプロパティ
goldengate.userexit.chkptprefix
Javaチェックポイント・ファイル名に追加される接頭辞の文字列値を指定します。次に例を示します。
goldengate.userexit.chkptprefix=javaue_
親トピック: 一般的なプロパティ
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
親トピック: 一般的なプロパティ
goldengate.userexit.usetargetcols
ターゲット列へのマッピングが可能かどうかを指定します。デフォルトはfalse
で、ターゲット・マッピングなしです。
goldengate.userexit.usetargetcols=
true|false
親トピック: 一般的なプロパティ
統計およびレポート
チェックポイント・ファイル処理を無効または有効にします。これによって、標準のOracle GoldenGateレポーティングは不完全になります。Java用Oracle GoldenGateでは、独自のレポートを追加し、この問題に対応します。
統計は、t
秒ごとまたはn
レコードごとに(両方が指定された場合、先に満たされた方の基準)、レポートされます。
記録される統計には、Replicatモジュールによって保持されるものとJavaモジュールから取得されるものの2つがあります。Java側から受信されるレポートは、個々のハンドラによってフォーマットされ、返されます。
統計には、操作の合計数、トランザクションおよび対応するレートが含まれています。
jvm.stats.display
統計のOracle GoldenGateレポート・ファイルおよびユーザー・イグジット・ログ・ファイルへの出力を制御します。
次の例では、これらの統計を出力します。
jvm.stats.display=true
親トピック: 統計およびレポート
jvm.stats.full
C側からの統計に加え、Java側からの統計の出力を制御します。
Java側の統計はより詳細ですが、オーバーヘッドも増えます。このため、統計のレポートの頻度が高い場合、詳細度の低いサマリーで十分です。stats.full
プロパティはfalse
に設定することをお薦めします。
次の例では、C以外にJava統計を出力します。
jvm.stats.full=true
親トピック: 統計およびレポート
jvm.stats.time | jvm.stats.numrecs
統計がレポートされる間隔(秒)またはレコード数を指定します。デフォルトでは、毎時または10000レコードごと(いずれか先に起きた方)にレポートします。
たとえば、10分ごとまたは1000レコードごとにレポートするには、次のように指定します。
jvm.stats.time=600 jvm.stats.numrecs=1000
Javaアプリケーション統計は、ハンドラに依存します。
-
すべてのハンドラについて、少なくとも総経過時間、処理時間、操作数、トランザクション数があります。
-
JMSハンドラの場合、送受信されたバイト数合計もあります。
-
レポートはテンプレートを使用してカスタマイズできます。
親トピック: 統計およびレポート
Javaアプリケーション・プロパティ
Javaアプリケーション・プロパティ・ファイルで設定できるプロパティを次に定義します。
- すべてのハンドラ用のプロパティ
- フォーマットされた出力用のプロパティ
- CSVおよび固定形式の出力用プロパティ
- ファイル・ライター・プロパティ
- JMSハンドラ・プロパティ
- JNDIプロパティ
- 一般的なプロパティ
- Java配信のトランザクションのグループ化
親トピック: Java配信のプロパティ
すべてのハンドラ用のプロパティ
次のプロパティがすべてのハンドラに適用されます。
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
から削除することで無効にすることができます。
親トピック: すべてのハンドラ用のプロパティ
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パッケージには、各種ビッグ・データ・ターゲットに書き込むために事前義されたハンドラが、ほかにも用意されています。
親トピック: すべてのハンドラ用のプロパティ
フォーマットされた出力用のプロパティ
次のプロパティは、フォーマットされた出力を生成できるすべてのハンドラに適用されます。これには、次のようなものがあります。
-
jms_text handler
ハンドラ(jms_map handler
ハンドラではない) -
aq
ハンドラ -
フォーマットされた出力をファイルに書き込む
singlefile
およびrolling
ハンドラ -
事前定義されたビッグ・データ・ハンドラ
- gg.handler.name.format
- gg.handler.name.includeTables
- gg.handler.name.excludeTables
- gg.handler.name.mode, gg.handler.name.format.mode
親トピック: Javaアプリケーション・プロパティ
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フォーマッタを使用することです。
親トピック: フォーマットされた出力用のプロパティ
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つのトランザクションに複数の表にまたがる複数の操作が含まれている場合、いずれかの表が表のリストに一致すれば、トランザクションは含められます。
親トピック: フォーマットされた出力用のプロパティ
gg.handler.name.excludeTables
このハンドラによって除外される表のリストを指定します。
表のスキーマ(または所有者)が指定される場合、そのスキーマのみが表名に一致します。それ以外の場合、表名は任意のスキーマに一致します。表のリストはカンマ区切りで指定されます。たとえば、すべてのスキーマの表date_modified
以外のすべての表に対するすべての操作をハンドラが処理するには、次のようにします。
gg.handler.myhandler.excludeTables=date_modified
表のカタログおよびスキーマ(または所有者)が指定される場合、そのスキーマのみが表名に一致します。それ以外の場合、表名は任意のカタログおよびスキーマに一致します。表のリストはカンマ区切りで指定されます。たとえば、カタログdbo
およびスキーマbar
の表date_modified
以外のすべての表に対するすべての操作をハンドラが処理するには、次のようにします。
gg.handler.myhandler.excludeTables=dbo.bar.date_modified
親トピック: フォーマットされた出力用のプロパティ
gg.handler.name.mode、gg.handler.name.format.mode
1メッセージ当たり1つの操作を出力する(op
)か、1メッセージ当たり1つのトランザクションを出力する(tx
)か指定します。デフォルトは、op
です。カスタム・フォーマッタの場合、gg.handler.name.format.mode
を使用します。
親トピック: フォーマットされた出力用のプロパティ
CSVおよび固定形式の出力用プロパティ
ハンドラがコンマ区切り値(CSV) CSV
またはfixed
形式の出力を使用するよう設定されている場合、次のプロパティも設定できます。
- gg.handler.name.format.delim
- gg.handler.name.format.quote
- gg.handler.name.format.metacols
- gg.handler.name.format.missingColumnChar
- gg.handler.name.format.presentColumnChar
- gg.handler.name.format.nullColumnChar
- gg.handler.name.format.beginTxChar
- gg.handler.name.format.middleTxChar
- gg.handler.name.format.endTxChar
- gg.handler.name.format.wholeTxChar
- gg.handler.name.format.insertChar
- gg.handler.name.format.updateChar
- gg.handler.name.format.deleteChar
- gg.handler.name.format.truncateChar
- gg.handler.name.format.endOfLine
- gg.handler.name.format.justify
- gg.handler.name.format.includeBefores
親トピック: Javaアプリケーション・プロパティ
gg.handler.name.format.delim
フィールド間に使用するデリミタを指定します。これに値を設定しない場合、デリミタは使用されません。次に例を示します。
gg.handler.handler1.format.delim=,
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.quote
列値が引用符付きの場合、使用する引用文字を指定します。次に例を示します。
gg.handler.handler1.format.quote='
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.metacols
レコードの先頭、すべての列データの前に出現するメタデータ列値を指定します。次のものを出現順に指定します。
-
position - 証跡内のレコードの一意の位置インジケータ
-
opcode - レコードの挿入、更新または削除を表す
I
、U
または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
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.missingColumnChar
ソース・データベース・トランザクション・ログから取得されなかった列値に対する特別な列接頭辞を指定します。列値は証跡になく、値があるか、NULL
かは不明です。
列値の欠落状態を表すために使用される文字はカスタマイズできます。次に例を示します。
gg.handler.handler1.format.missingColumnChar=M
デフォルトでは、欠落している列値には空の文字列が設定され、表示されません。
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.presentColumnChar
証跡にあり、NULL
ではない列値に対する特別な列接頭辞を指定します。
列の状態を表すために使用される文字はカスタマイズできます。次に例を示します。
gg.handler.handler1.format.presentColumnChar=P
デフォルトでは、存在している列値には空の文字列が設定され、表示されません。
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.nullColumnChar
証跡にあり、NULL
に設定されている列値に対する特別な列接頭辞を指定します。
列の状態を表すために使用される文字はカスタマイズできます。次に例を示します。
gg.handler.handler1.format.nullColumnChar=N
デフォルトでは、nullの列値には空の文字列が設定され、表示されません。
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.beginTxChar
レコードをトランザクションの先頭
と識別するために使用されるヘッダー・メタデータ文字(「metacols
」を参照)を指定します。次に例を示します。
gg.handler.handler1.format.beginTxChar=B
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.middleTxChar
レコードをトランザクションの中間
と識別するために使用されるヘッダー・メタデータ文字(「metacols
」を参照)を指定します。次に例を示します。
gg.handler.handler1.format.middleTxChar=M
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.endTxChar
レコードをトランザクションの末尾
と識別するために使用されるヘッダー・メタデータ文字(「metacols
」を参照)を指定します。次に例を示します。
gg.handler.handler1.format.endTxChar=E
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.wholeTxChar
レコードを完全なトランザクション(トランザクション全体
と呼ばれる)と識別するために使用されるヘッダー・メタデータ文字(「metacols
」を参照)を指定します。次に例を示します。
gg.handler.handler1.format.wholeTxChar=W
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.insertChar
挿入操作を識別する文字を指定します。デフォルトは、I
です。
たとえば、挿入操作の場合、I
のかわりにINS
を使用するには、次のようにします。
gg.handler.handler1.format.insertChar=INS
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.updateChar
更新操作を識別する文字を指定します。デフォルトは、U
です。
たとえば、更新操作の場合、U
のかわりにUPD
を使用するには、次のようにします。
gg.handler.handler1.format.updateChar=UPD
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.deleteChar
削除操作を識別する文字を指定します。デフォルトは、D
です。
たとえば、削除操作の場合、D
のかわりにDEL
を使用するには、次のようにします。
gg.handler.handler1.format.deleteChar=DEL
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.truncateChar
切捨て操作を識別する文字を指定します。デフォルトは、T
です。
たとえば、切捨て操作にT
ではなくTRUNC
を使用するには、次のようにします。
gg.handler.handler1.format.truncateChar=TRUNC
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.endOfLine
行末文字を指定します。
-
EOL
- ネイティブ・プラットフォーム -
CR
- ニュートラル(UNIXスタイル\n
) -
CRLF
- Windows (\r\n
)
次に例を示します。
gg.handler.handler1.format.endOfLine=CR
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.justify
固定フィールドを左詰めにするか、右詰めにするかを指定します。次に例を示します。
gg.handler.handler1.format.justify=left
親トピック: CSVおよび固定形式の出力用プロパティ
gg.handler.name.format.includeBefores
ビフォア・イメージを出力に含めるかどうかを制御します。証跡にビフォア・イメージがある必要があります。次に例を示します。
gg.handler.handler1.format.includeBefores=false
親トピック: CSVおよび固定形式の出力用プロパティ
ファイル・ライター・プロパティ
次のプロパティは、出力をファイルに書き込むハンドラ(file
ハンドラおよびsinglefile
ハンドラ)にのみ適用されます。
gg.handler.name.file
指定されたハンドラの出力ファイルの名前を指定します。ハンドラがローリング・ファイルの場合、この名前は、ロールされたファイルの名前の導出に使用されます。デフォルトのファイル名は、output.xml
です。
親トピック: ファイル・ライター・プロパティ
gg.handler.name.rolloverSize
ファイル・ハンドラを使用する場合、ロールオーバーが試行されるファイルのサイズを指定します。ファイル・サイズは最低このサイズですが、ほとんどの場合、これより大きいです。操作およびトランザクションはファイル間で分割されません。サイズはバイト数で指定されますが、接尾辞を指定してMBまたはKBを識別できます。次に例を示します。
gg.handler.myfile.rolloverSize=5MB
デフォルトのロールオーバー・サイズは、10MB
です。
親トピック: ファイル・ライター・プロパティ
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
標準JMS設定
次に、設定可能なJMSプロパティと許容される値について簡単に説明します。これらは、jms_text
(TextMessage
)およびjms_map
(MapMessage
)の両方のJMSハンドラ・タイプに適用されます。
- gg.handler.name.destination
- gg.handler.name.user
- gg.handler.name.password
- gg.handler.name.queueOrTopic
- gg.handler.name.persistent
- gg.handler.name.priority
- gg.handler.name.timeToLive
- gg.handler.name.connectionFactory
- gg.handler.name.useJndi
- gg.handler.name.connectionUrl
- gg.handler.name.connectionFactoryClass
- gg.handler.name.localTX
- gg.handlerlist.nop
- gg.handler.name.physicalDestination
親トピック: JMSハンドラ・プロパティ
gg.handler.name.destination
メッセージが送信されるキューまたはトピック。これは、JMSサーバーで適切に構成される必要があります。一般的な値は、queue/A
、queue.Test
、example.MyTopic
などです。
gg.handler.name
.destination=queue_or_topic
親トピック: 標準JMS設定
gg.handler.name.user
(オプション)JMSサーバーへのメッセージの送信に必要なユーザー名。
gg.handler.name
.user=user_name
親トピック: 標準JMS設定
gg.handler.name.password
(オプション)JMSサーバーへのメッセージの送信に必要なパスワード
gg.handler.name
.password=password
親トピック: 標準JMS設定
gg.handler.name.queueOrTopic
ハンドラがキューに送信する(単一受信者)か、トピックに送信する(パブリッシュ/サブスクライブ)か。これは、JMSプロバイダで適切に構成される必要があります。このプロパティは、gg.handler
.name
.destination
の別名です。構文は次のとおりです。
gg.handler.name
.queueOrTopic=queue|topic
説明:
-
queue
- メッセージは読み取られると、削除されます。これはデフォルトです。 -
topic
- メッセージはパブリッシュされ、複数のサブスクライバに配信されます。
親トピック: 標準JMS設定
gg.handler.name.persistent
配信モードが永続に設定されているかどうか。メッセージが永続の場合、クライアントの送信操作の一環としてメッセージを安定的なストレージに記録するようJMSプロバイダを構成する必要があります。構文は次のとおりです。
gg.handler.name
.persistent={true|false}
親トピック: 標準JMS設定
gg.handler.name.priority
JMSで、0を最低、9を最高とする10段階の優先度の値が定義されます。デフォルトでは優先度は4に設定されます。構文は次のとおりです。
gg.handler.name
.priority=integer
次に例を示します。
gg.handler.name
.priority=5
親トピック: 標準JMS設定
gg.handler.name.timeToLive
生成されたメッセージがメッセージ・システムによって保持される時間のディスパッチ時間からの長さ(ミリ秒)。値0は、時間が無制限であることを指定します。デフォルトは、0です。構文は次のとおりです。
gg.handler.name
.timeToLive=milliseconds
次に例を示します。
gg.handler.name
.timeToLive= 36000
親トピック: 標準JMS設定
gg.handler.name.connectionFactory
JNDIを使用して検索する接続ファクトリの名前。ConnectionFactoryJNDIName
は別名です。構文は次のとおりです。
gg.handler.name
.connectionFactory=JNDI_name
親トピック: 標準JMS設定
gg.handler.name.useJndi
gg.handler.
name
.usejndi
がfalse
の場合、JNDIはJMSクライアントの構成に使用されません。かわりに、ファクトリおよび接続が明示的に構築されます。構文は次のとおりです。
gg.handler.name
.useJndi=true|false
親トピック: 標準JMS設定
gg.handler.name.connectionUrl
JNDIを使用しない場合にのみ接続URLを使用して明示的に接続を作成します。構文は次のとおりです。
gg.handler.name
.connectionUrl=url
親トピック: 標準JMS設定
gg.handler.name.connectionFactoryClass
JNDIを使用しない場合にのみ接続ファクトリ・クラスを使用してファクトリにアクセスします。このプロパティの値は、ファクトリ・オブジェクトを明示的にインスタンス化および構築するJavaクラス名です。
gg.handler.name
.connectionFactoryClass=java_class_name
親トピック: 標準JMS設定
gg.handler.name.localTX
ローカル・トランザクションを使用するかどうかを指定します。デフォルトはtrue
で、ローカル・トランザクションが使用されます。構文は次のとおりです。
gg.handler.name.localTX=true|false
親トピック: 標準JMS設定
gg.handlerlist.nop
JMSメッセージの送信を無効にし、メッセージ生成のテストをできるようにします。これは、テスト目的でのみ使用されるグローバル・プロパティです。イベントは従前どおり生成されて処理され、メッセージが構築されます。デフォルトはfalse
で、メッセージの送信を無効にしません。構文は次のとおりです。
gg.handlerlist.nop=true|false
ユーザーはこのオプションを利用して、ハンドラ・モジュールを伴わずに処理する証跡レコードのパフォーマンスを測定できます。このアプローチを使うと、証跡レコードをターゲット・システムに適用するとき、パフォーマンスに問題が生じる可能性を下げられます。
親トピック: 標準JMS設定
gg.handler.name.physicalDestination
JNDIプロバイダではなくConnectionFactory
APIから取得した、キューまたはトピック・オブジェクトの名前。
gg.handler.name.physicalDestination=queue_name
親トピック: 標準JMS設定
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
親トピック: Javaアプリケーション・プロパティ
一般的なプロパティ
次のプロパティは、Javaフレームワーク用に使用される一般プロパティです。
gg.classpath
クラスパスに追加するディレクトリまたはJARの追加パスのカンマ区切りのリストを指定します。オプションで、Windowsシステムの場合はセミコロン、UNIXの場合はコロンでリストを区切ることができます。次に例を示します。
gg.classpath=C:\Program Files\MyProgram\bin;C:\Program Files\ProgramB\app\bin;
カスタムJava JAR、またはビッグ・データ・アプリケーションの外部依存関係へのパス指定を構成するには、このアダプタ・プロパティ・ファイル構成プロパティを使用する必要があります。
親トピック: 一般的なプロパティ
gg.report.time
統計を計算してExtractに送信し、レポートを処理する頻度を指定します。Extractがレポートを出力するよう構成されている場合、これらの統計が含められます。構文は次のとおりです。
gg.report.time=report_interval
{s|m|h}
説明:
-
report_interval
は整数です。 -
有効な時間単位は、次のとおりです。
-
s
- 秒 -
m
- 分 -
h
- 時間
-
値が入力されない場合、デフォルトは24時間ごとの計算および送信です。
親トピック: 一般的なプロパティ
gg.binaryencoding
バイナリ・エンコーディング・タイプを指定します。このプロパティを使用して、バイナリ・データの必要な出力エンコーディングを構成できます。次に例を示します。
gg.binaryencoding=base64|hex
デフォルト値はbase64です。バイナリ・データを表す有効な値は次のとおりです。
-
base64
- base64文字列 -
hex
- 16進数文字列
親トピック: 一般的なプロパティ
Java配信のトランザクションのグループ化
トランザクションのグループ化は、Java統合、特にビッグ・データ統合のパフォーマンスを大きく改善する場合があります。Java配信には、トランザクションのグループ化を実行する機能があります。Java配信がReplicatプロセスにホストされている場合、トランザクションのグループ化にはGROUPTRANSOPS
Replicat構成を使用する必要があります。
親トピック: Javaアプリケーション・プロパティ