XML メッセージを作成し、その XML メッセージを XSLT (XSL Transformations) を使用してフォーマット変換できるようにする、ユーザー出口を作成することができます。
このタスクについて
CDC Replication Engine for Event Server を使用すると、 EventServerIF インターフェースで以下のメソッドのパラメーターを指定できます。
createXmlOutput()
apply Xslt()
例えば、以下のユーザー出口は、XSLT を既存の XML メッセージに適用します。
}
/**
* Apply XSLT transform to the output message
* @throws UserExitException
*/
private void applyXslt(EventServerIF eventServer, ReplicationEventIF p_Event)
throws UserExitException
{
//Get TS/ES XML Engine to create the xml file
String xml = eventServer.createXmlOutput(p_Event);
// Apply XSLT transform to the xml message
String xsltOutput = eventServer.applyXslt(xslt/dbxml.xsl
, xml);
//Set the xml message that TS/ES is going to send
eventServer.setOutputTextMessage(xsltOutput);
}
public boolean processReplicationEvent(ReplicationEventIF p_Event) throws
UserExitException
{
boolean retValue = true;
int eventType = p_Event.getEventType();
if (eventType == ReplicationEventTypes.BEFORE_INSERT_EVENT)
{
EventServerIF eventServer = p_Event.getEventServer();
// Apply XSLT transform
applyXslt(eventServer, p_Event);
}
return retValue;
}
手順
- をクリックします。
CDC Replication Engine for Event Server データ・ストアに接続していることを確認します。
- をクリックします。
ターゲットとして CDC Replication Engine for Event Server データ・ストアを使用するサブスクリプションを作成したことを確認します。
- このサブスクリプション内で、ソース表から XML メッセージ宛先へのマッピングが少なくとも 1 つ作成済みであることを確認してください。
- 表マッピングを選択し、 「詳細を開く ...」を右クリックします。
- 「ユーザー出口」 タブをクリックします。
- 「ユーザー出口タイプ」 ボックスから 「Java クラス」 を選択します。
- クラス名ボックスに、ユーザー出口をJavaで開発している場合は UserExitIFを実装するユーザー出口のJava™クラス名を入力します。
- ユーザー出口プログラムで使用可能にするパラメーターを 「パラメーター」 ボックスに入力します。
初期化処理中に getParameter(を呼び出すことで、Java クラスのパラメータにアクセスできます。 パラメーターの指定に関する規則はありません。 このボックスの値はフリー・フォームで入力できます。 パラメーター値のストリングの長さは、255 文字を超えることはできません。
- 以下の 1 つ以上の操作に対して 「前」 または 「後」 チェック・ボックスを有効にします。
- 挿入
- CDC Replication Engine for Event Server は、ステージングした表に挿入操作を適用する前または後、JMS メッセージ宛先に挿入操作を適用する前または後、あるいはその両方でユーザー出口を実行します。
- アップデート
- CDC Replication Engine for Event Server は、ステージングした表に更新操作を適用する前または後、JMS メッセージ宛先に更新操作を適用する前または後、またはその両方でユーザー出口を実行します。
- 削除
- CDC Replication Engine for Event Server は、ステージングした表に削除操作を適用する前または後、JMS メッセージ宛先に削除操作を適用する前または後、あるいはその両方でユーザー出口を実行します。
- リフレッシュ
- CDC Replication Engine for Event Server は、ステージングした表にリフレッシュ操作を適用する前または後、JMS メッセージ宛先にリフレッシュ操作を適用する前または後、あるいはその両方でユーザー出口を実行します。
- 切り捨て
- CDC Replication Engine for Event Server は、ステージングした表に切り捨て操作を適用する前または後、JMS メッセージ宛先に切り捨て操作を適用する前または後、あるいはその両方でユーザー出口を実行します。
- 「保存」をクリックします。
JMS メッセージ宛先に割り当てられたソース表を含んでいるサブスクリプションのミラーリングを開始できます。 ユーザー出口プログラムは、 CDC Replication Engine for Event Server が JMS メッセージ宛先に操作を適用する前に、新しい宛先を設定します。