8.1.7 Java Message Service

ここでは、Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)を使用したJava Message Service (JMS)メッセージの取得およびOracle GoldenGate証跡への書込みについて説明します。

8.1.7.1 前提条件

8.1.7.1.1 ソース・タイプを検出するための資格証明ストア・エントリの設定

JMS取得

Kafkaと同様に、ソース・タイプを検出するために、ユーザーは接頭辞jms://を使用して資格証明ストア・エントリを作成できます。

ノート:

資格証明ストア・エントリは、「管理サービス」の「DB接続」で設定できます。
alter credentialstore add user jms:// password <anypassword> alias jms
Extractパラメータ・ファイルでSOURCEDBパラメータがUSERIDALIASオプションとともに指定されていない場合、ソース・タイプはJMSとみなされ、これを示す警告メッセージがログに記録されます。

8.1.7.2 メッセージ取得の構成

この章では、JMSメッセージを取得するVAM Extractの構成方法について説明します。

8.1.7.2.1 VAM Extractの構成

JMS取得は、Oracle GoldenGate Extractプロセスでのみ機能します。Javaメッセージ取得アプリケーションを実行するには、次のものが必要です。

  • Java用Oracle GoldenGateアダプタ

  • Extractプロセス

  • メッセージ取得用に構成されたExtractパラメータ・ファイル

  • ソース定義ファイルなどの受信データ形式の説明。

  • Java 8がホスト・マシンにインストールされていること

8.1.7.2.1.1 Extractの追加

メッセージ取得VAMをOracle GoldenGateインストールに追加するには、GGSCIコマンドを使用してExtractとExtractが作成する証跡を追加します。

ADD EXTRACT jmsvam, VAM
ADD EXTTRAIL dirdat/id, EXTRACT jmsvam, MEGABYTES 100

プロセス名(jmsvam)は、8文字以下のプロセス名に置き換えます。証跡識別子(id)は、任意の2文字です。

ノート:

BEGINEXTRBAなどのExtractの位置を設定するコマンドは、メッセージ取得に対してサポートされません。Extractの再開では、常にメッセージ・キューの末尾からメッセージを読み取ります。

8.1.7.2.1.2 Extractパラメータの構成

Extractパラメータ・ファイルには、VAMの定義および起動に必要なパラメータが含まれます。VAMと通信するためのサンプルExtractパラメータを表に示します。

パラメータ 説明
EXTRACT jmsvam

Extractプロセスの名前。

VAM ggjava_vam.dll,
PARAMS dirprm/jmsvam.properties

VAMライブラリの名前とプロパティ・ファイルの場所を指定します。VAMプロパティは、Oracle GoldenGateインストールの場所のdirprmディレクトリにある必要があります。

TRANLOGOPTIONS VAMCOMPATIBILITY 1

VAMの元の実装が使用されること(1)を指定します。

TRANLOGOPTIONS GETMETADATAFROMVAM

メタデータがVAMによって送信されることを指定します。

EXTTRAIL dirdat/id

Extractが作成するターゲット証跡の識別子を指定します。

8.1.7.2.1.3 メッセージ取得の構成

メッセージ取得は、VAMプロパティ・ファイル(アダプタ・プロパティ・ファイル)のプロパティによって構成されます。このファイルは、Extract VAMパラメータのPARAMSオプションによって識別され、ロギング特性、パーサーのマッピングおよびJMS接続設定の決定に使用されます。

8.1.7.2.2 メッセージの接続と取得

JMSメッセージを処理するには、JMSインタフェースへの接続の構成、トランザクションのメッセージの取得と解析、各メッセージの証跡への書込み、トランザクションのコミットおよびメッセージのキューからの削除を行う必要があります。

8.1.7.2.2.1 JMSへの接続

JMSへの接続は、汎用JMSインタフェースを介して行われます。プロパティを設定して次の接続の特性を構成できます。

  • JMSクライアントのJavaクラスパス

  • JMSキューまたはトピック・ソース宛先の名前

  • Java Naming and Directory Interface (JNDI)接続プロパティ

    • 初期コンテキストの接続プロパティ

    • 接続ファクトリ名

    • 宛先名

  • セキュリティ情報

    • JNDI認証資格証明

    • JMSユーザー名とパスワード

VAMと連携するよう構成されたExtractプロセス(例のjmsvamなど)は、起動時にメッセージ・システムに接続します。

ノート:

処理時に接続の問題があった場合に自動的に再起動されるよう、ExtractをManagerのAUTORESTARTリストに含めることができます。

現在、Oracle GoldenGate Javaメッセージ取得アダプタではJMSテキスト・メッセージのみサポートされます。

8.1.7.2.2.2 メッセージの取得

次のメッセージを要求されると、接続処理によって次のステップが実行されます。

  • ローカルJMSトランザクションがまだ開始されていない場合は開始します。

  • メッセージ・キューからメッセージを読み取ります。

  • メッセージがないために読取りが失敗した場合、ファイル終端メッセージを返します。

  • そうではない場合、メッセージのコンテンツを返します。

8.1.7.2.2.3 トランザクションの完了

トランザクションを構成するメッセージがすべて正常に取得および解析され、Oracle GoldenGate証跡に書き込まれると、ローカルJMSトランザクションがコミットされ、メッセージがキューまたはトピックから削除されます。エラーが発生した場合、ローカル・トランザクションはロールバックされ、メッセージはJMSキューに残されます。