9.1.8 Java Message Service
ここでは、Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)を使用したJava Message Service (JMS)メッセージの取得およびOracle GoldenGate証跡への書込みについて説明します。
- 前提条件
- Oracle GoldenGate Java配信
- メッセージ取得の構成
この章では、JMSメッセージを取得するVAM Extractの構成方法について説明します。
親トピック: ソース
9.1.8.1 前提条件
9.1.8.1.1 ソース・タイプを検出するための資格証明ストア・エントリの設定
JMS取得
Kafkaと同様に、ソース・タイプを検出するために、ユーザーは接頭辞jms://
を使用して資格証明ストア・エントリを作成できます。
ノート:
資格証明ストア・エントリは、「管理サービス」の「DB接続」で設定できます。alter credentialstore add user jms:// password <anypassword> alias jms
SOURCEDB
パラメータがUSERIDALIAS
オプションとともに指定されていない場合、ソース・タイプはJMSとみなされ、これを示す警告メッセージがログに記録されます。
親トピック: 前提条件
9.1.8.2 Oracle GoldenGate Java配信
Oracle GoldenGateによって取得されたトランザクション・データは、Oracle GoldenGate Java APIを介して、リレーショナル・データベース以外のターゲットに配信できます(JMS (Java Message Service)、ディスクに書き込まれたファイル、Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)アプリケーションへのデータのストリーミング、またはカスタム・アプリケーションJava APIとの統合など)。Oracle GoldenGate Java配信は、ExtractまたはReplicatプロセスと連携できます。ベスト・プラクティスとして、Oracle GoldenGate Replicatプロセスを使用してください。Oracle GoldenGate Java配信には依存関係としてJava 8が必要です。
Java用Oracle GoldenGateには、Oracle GoldenGate ReplicatプロセスからJavaコードを実行する機能があります。JavaのためのOracle GoldenGateを使用するには、次の条件が満たされている必要があります。
-
C/C++で実装され、Oracle GoldenGate Replicatプロセスの拡張モジュールを統合している動的リンク・ライブラリまたは共有ライブラリ。
-
Oracle GoldenGate Java APIを構成するJavaライブラリのセット(JAR)。このJavaフレームワークは、Java Native Interface (JNI)を介してReplicatと通信します。
-
Java 8がインストールされており、Oracle GoldenGate Java配信のプロセス(複数も可)をホストしているマシンでアクセスできる必要があります。Javaとその関連ライブラリを解決するには、環境変数が正しく設定されている必要があります。
親トピック: Java Message Service (JMS)
9.1.8.3 メッセージ取得の構成
親トピック: Java Message Service (JMS)
9.1.8.3.1 Oracle GoldenGate VAMメッセージの取得
Oracle GoldenGate VAMのメッセージ取得は、Oracle GoldenGate Extractプロセスでのみ機能します。Oracle GoldenGateのメッセージの取得では、JMSメッセージングに接続してメッセージを解析し、メッセージ・データからOracle GoldenGate証跡を作成するOracle GoldenGate ExtractプロセスにVAMインタフェースを介して送信します。これによって、ターゲット・データベース用に稼働しているOracle GoldenGateシステムにJMSメッセージが配信されます。Oracle GoldenGate VAMのメッセージ取得には、Java 8が必須の依存関係です。
Oracle GoldenGate JMSメッセージ取得を使用するには、Oracle GoldenGate Extractプロセスにアタッチされ、動的にリンクされた共有VAMライブラリが必要です。
親トピック: メッセージ取得の構成
9.1.8.3.1.1 メッセージ取得構成オプション
- メッセージ接続: プロパティ・ファイルの値によって、JMSクライアントのJavaクラスパス、JMSソース宛先名、JNDI接続プロパティ、セキュリティ情報などの接続プロパティが設定されます。
- 解析: プロパティ・ファイルの値によって、固定幅、カンマ区切りまたはXMLのメッセージの解析ルールが設定されます。これには、使用されるデリミタ、トランザクションの先頭と末尾の値、日付形式などの設定があります。
- VAMインタフェース: VAM、
dll
またはso
ライブラリを識別するパラメータおよびプロパティ・ファイルがOracle GoldenGateコアExtractプロセス用に設定されます。
9.1.8.3.2 Oracle GoldenGate VAMメッセージの取得
Oracle GoldenGate VAMのメッセージ取得は、Oracle GoldenGate Extractプロセスでのみ機能します。Oracle GoldenGateのメッセージの取得では、JMSメッセージングに接続してメッセージを解析し、メッセージ・データからOracle GoldenGate証跡を作成するOracle GoldenGate ExtractプロセスにVAMインタフェースを介して送信します。これによって、ターゲット・データベース用に稼働しているOracle GoldenGateシステムにJMSメッセージが配信されます。Oracle GoldenGate VAMのメッセージ取得には、Java 8が必須の依存関係です。
Oracle GoldenGate JMSメッセージ取得を使用するには、Oracle GoldenGate Extractプロセスにアタッチされ、動的にリンクされた共有VAMライブラリが必要です。
親トピック: メッセージ取得の構成
9.1.8.3.3 VAM Extractの構成
JMS取得は、Oracle GoldenGate Extractプロセスでのみ機能します。Javaメッセージ取得アプリケーションを実行するには、次のものが必要です。
-
Java用Oracle GoldenGateアダプタ
-
Extractプロセス
-
メッセージ取得用に構成されたExtractパラメータ・ファイル
-
ソース定義ファイルなどの受信データ形式の説明。
-
Java 8がホスト・マシンにインストールされていること
9.1.8.3.3.1 Extractの追加
メッセージ取得VAMをOracle GoldenGateインストールに追加するには、GGSCIコマンドを使用してExtractとExtractが作成する証跡を追加します。
ADD EXTRACT jmsvam, VAM ADD EXTTRAIL dirdat/id, EXTRACT jmsvam, MEGABYTES 100
プロセス名(jmsvam
)は、8文字以下のプロセス名に置き換えます。証跡識別子(id
)は、任意の2文字です。
ノート:
BEGIN
、EXTRBA
などのExtractの位置を設定するコマンドは、メッセージ取得に対してサポートされません。Extractの再開では、常にメッセージ・キューの末尾からメッセージを読み取ります。
親トピック: VAM Extractの構成
9.1.8.3.3.2 Extractパラメータの構成
親トピック: VAM Extractの構成
9.1.8.3.3.3 メッセージ取得の構成
メッセージ取得は、VAMプロパティ・ファイル(アダプタ・プロパティ・ファイル)のプロパティによって構成されます。このファイルは、Extract VAM
パラメータのPARAMS
オプションによって識別され、ロギング特性、パーサーのマッピングおよびJMS接続設定の決定に使用されます。
親トピック: VAM Extractの構成
9.1.8.3.4 メッセージの接続と取得
JMSメッセージを処理するには、JMSインタフェースへの接続の構成、トランザクションのメッセージの取得と解析、各メッセージの証跡への書込み、トランザクションのコミットおよびメッセージのキューからの削除を行う必要があります。
親トピック: メッセージ取得の構成
9.1.8.3.4.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テキスト・メッセージのみサポートされます。
親トピック: メッセージの接続と取得
9.1.8.3.4.2 メッセージの取得
次のメッセージを要求されると、接続処理によって次のステップが実行されます。
-
ローカルJMSトランザクションがまだ開始されていない場合は開始します。
-
メッセージ・キューからメッセージを読み取ります。
-
メッセージがないために読取りが失敗した場合、ファイル終端メッセージを返します。
-
そうではない場合、メッセージのコンテンツを返します。
親トピック: メッセージの接続と取得
9.1.8.3.4.3 トランザクションの完了
トランザクションを構成するメッセージがすべて正常に取得および解析され、Oracle GoldenGate証跡に書き込まれると、ローカルJMSトランザクションがコミットされ、メッセージがキューまたはトピックから削除されます。エラーが発生した場合、ローカル・トランザクションはロールバックされ、メッセージはJMSキューに残されます。
親トピック: メッセージの接続と取得