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

前
 
 

A アダプタの例

この付録では、Oracle GoldenGateアダプタ・インストールに含まれているサンプルをリストし、一部のユースケースのサンプルについて説明します。

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

A.1 含まれているサンプルのリスト

次のサンプルは、インストール場所のAdaptersExamplesサブディレクトリにあります。

フラット・ファイル・ライター

  • Oracle GoldenGateフラット・ファイル・アダプタを使用して、Oracle GoldenGate証跡データをテキスト・ファイルに変換します。

メッセージ配信

  • Oracle GoldenGate Javaアダプタを使用し、カスタム・メッセージ形式を使用してJMSメッセージを送信します。

  • Oracle GoldenGate Javaアダプタを使用し、カスタム・メッセージ・ヘッダー・プロパティを使用してJMSメッセージを送信します。

メッセージ取得

  • Oracle GoldenGate Javaアダプタを使用して、JMSメッセージを処理し、Oracle GoldenGate証跡を作成します。

Javaユーザー・イグジットAPI

  • Oracle GoldenGate JavaアダプタAPIを使用して、カスタム・イベント・ハンドラを記述します。

A.2 ロギングの構成

この例では、11.2.1以上のOracle GoldenGateアダプタのユーザー・イグジットに対するロギングの構成方法について説明します。最初の項では、ロギングのデフォルトをトリガーする一般的なExtractポンプを構成します。2番目の項では、ロギングの実装のカスタマイズ方法について説明します。

A.2.1 Oracle GoldenGate Javaユーザー・イグジット・デフォルトの例

次のOracle GoldenGate Javaユーザー・イグジットExtractの構成例では、ロギングのデフォルトをトリガーします。

Extractパラメータ・ファイル

EXTRACT jms1
SOURCEDEFS dirdef/aa.def
CUSEREXIT libggjava_ue.so CUSEREXIT PASSTHRU INCLUDEUPDATEBEFORES
GETUPDATEBEFORES
TABLE GG.*;

プロパティ・ファイル

関連付けられているプロパティ・ファイルにはExtractグループに由来する名前jms1.propertiesが付けられます。JNIプロパティにはデフォルト値があり、すべてのプロパティを指定する必要はないため、これがプロパティ・ファイルのすべてです。

gg.handlerlist=my_jms
   
gg.handler.my_jms.type=jms
gg.handler.my_jms.destination=dynamicQueues/testQ1
gg.handler.my_jms.format=xml2
gg.handler.my_jms.mode=op
gg.handler.my_jms.connectionFactory=ConnectionFactory

gg.java.naming.provider.url=tcp://localhost:61616
   gg.java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
   
gg.classpath=/opt/activemq/activemq-all.jar

結果のログ・ファイル

次のようにしてGGSCIでExtractを追加して起動すると、ログ・ファイルが作成されます。

ggsci> ADD EXTRACT jms1, EXTRAILSOURCE dirdat/aa
ggsci> START MGR
ggsci> START EXTRACT jms1

ログ・ファイルは、レポート・ファイルと同じディレクトリに書き込まれます。Extractグループに由来する名前が付けられます。次に例を示します。

$ ls -l dirrpt/ 
total 48
-rw-rw-rw- 1 1685   Apr 16 20:38   MGR.rpt
-rw-rw-rw- 1 1685   Apr 16 20:38   jms1.rpt
-rw-rw-rw- 1 21705  Apr 19 13:59   jms1_info_0.log.0 
-rw-rw-rw- 1 0      Apr 19 13:58   jms1_info_0.log.0.lck

A.2.2 ロギングのカスタマイズ

この例では、2つの方法のいずれかを使用した、11.2.1以上のOracle GoldenGateユーザー・イグジット・アダプタに対するロギングのカスタマイズ方法について説明します。

  • Javaアダプタ・ユーザー・イグジット・プロパティの使用

    gg.log={ jdk | logback | log4j }
    gg.log.level={ info | debug | trace }
    gg.log.classpath={ classpath for logging }
    

    ログ実装プロパティgg.logが設定されていない場合、jdkオプションがデフォルトです。これは、java.util.logging (JUL)が使用されることを指定します。ログ・レベルのデフォルトは、infoです。これをカスタマイズするには、gg.logを次のいずれかに設定します。

    • log4j - これによって、Log4jおよび適切なslf4j-log4jバインドが含まれるようクラスパスが自動的に構成されます。

    • logback - logbackオプションを使用するには、logback jarを手動でダウンロードし、インストール・ディレクトリにコピーする必要があります。あらかじめ定義された場所にjarがコピーされている場合は従前どおり、クラス・パスが自動的に構成されます。詳細は、ggjava/resources/lib/optional/logback/ReadMe-logback.txtを参照してください。

  • JVMオプションの使用

    デフォルトのロギングを使用したり、ロギング・プロパティを設定するかわりに、jvm.bootoptionsを使用してロギングを定義できます。これを行うには、次のいずれかを実行して、構成ファイルを定義するシステム・プロパティを含むようjvm.bootoptionsを設定します。

    • log4j構成ファイルを指定します。

      jvm.bootoptions=-Dlog4j.configuration=my-log4j.properties
      

      これによって、ロギング実装のタイプであるgg.logが暗黙的にlog4jに設定され、slf4j-log4j12バインドがクラスパスに追加されます。

    • java.util.loggingプロパティ・ファイルまたはクラスを指定します。

      jvm.bootoptions=-Djava.util.logging.config.file=my-logging.properties
      

      これによってgg.log=jdkが暗黙的に設定され、java.util.logging (JUL)が指定されます。slf4j-jdk14バインドがクラスパスに追加されます。

    • まず、logback-core-jarおよびlogback-classic-jarをダウンロードし、ggjava/resources/lib/optional/logbackにコピーします。次に、logback構成ファイルを指定します。

      jvm.bootoptions=-Dlogback.configuationFile=my-logback.xml 
      

      これによって、gg.log=logbackが暗黙的に設定され、logback-classicおよびlogback-coreがクラスパスに追加されます。

    これらはgg.logおよびgg.log.classpathの暗黙的な設定で、プロパティ・ファイルでこれらのいずれかのプロパティを明示的に設定することでオーバーライドされます。特定のjarを含むようJVMクラスパスを設定することでも、ロギング・クラスパスはオーバーライドされます。

    jvm.bootoptions=...-Djava.class.path=mypath/my1.jar:mypath2/my2.jar...
    

    注意:

    特定のjarを含むようJVMクラスパスを設定すると、クラスパスでの実装が重複または矛盾する可能性があります。