メッセージ・ペイロードのためのAdapterMessageクラスの使用

AdapterMessageクラス(oracle.bm.ebiadapters.AdapterMessage)は、E-Business統合メッセージ・アダプタを使用して送受信される、メッセージ・ペイロードに必要なラッパーです。 AdapterMessageクラスは、次の2種類のペイロードをラップできます。

標準アダプタを使用したAdapterMessageオブジェクトの使用

次のようにコールして、Stringペイロードを含むAdapterMessageのインスタンスを新しく作成します。

AdapterMessage message = AdapterMessage.newStringMessage(payload)

ここで、payloadjava.lang.String型です。

標準送信アダプタでは、生成されたクライアント・コードのsendMessageメソッドがAdapterMessageオブジェクトの配列を受け取ります。各AdapterMessageオブジェクトには、java.lang.Stringペイロードが含まれます。 アダプタに渡す前に、アプリケーション・データをAdapterMessageオブジェクトとしてラップして配列にするコードを提供する必要があります。

標準受信アダプタは、一度に1つのAdapterMessageを受信し、生成したクライアント・コードからそれを返します。同様に、返されたデータをアンラップするコードを用意する必要があります。 たとえば、getPayload()メソッドを使用してAdapterMessageオブジェクトからペイロードを取り出し、そのペイロードを元のタイプに返すことができます。

ビジネス・コンポーネント・アダプタを使用したAdapterMessageオブジェクトの使用

次のコードをコールして、ViewObjectペイロードを含むAdapterMessageのインスタンスを新しく作成します。

AdapterMessage message = AdapterMessage.newViewObjectMessage(payload)

ここで、payloadoracle.jbo.server.ViewObject型です。

ビジネス・コンポーネント送信アダプタでは、生成されたクライアント・コードのsendMessageメソッドがAdapterMessageオブジェクトの配列を受け取ります。各AdapterMessageオブジェクトには、oracle.jbo.server.ViewObjectペイロードが含まれます。 アダプタに渡す前に、アプリケーション・データをAdapterMessageオブジェクトとしてラップして配列にするコードを提供する必要があります。

BESAdapterMessageサブクラスの使用

BESAdapterMessageクラス(oracle.bm.ebiadapters.BESAdapterMessage)は、AdapterMessageのサブクラスです。このクラスは、完全な統合のためにE-Business統合ジェネレータで必要とする追加機能を提供します。 BESAdapterMessageクラスを使用すると、ペイロードの設定のみではなく、JMSヘッダー・フィールドにマップされるメタデータ・プロパティも設定できます。メタデータ・プロパティには、必須のプロパティとオプションのプロパティがあります。 たとえば、setEventName(String eventName)およびsetEventKey(String eventKey)メソッドは、必須のEvent NameプロパティおよびEvent Keyプロパティの設定に使用できます。これらのプロパティを設定すると、JMSヘッダー・プロパティにマップされ、Oracle AQキューの間でJMSメッセージが正しく伝播されるようになります。

独自のAdapterMessageサブクラスの作成

AdapterMessageクラスを使用すると、アダプタ間でメッセージ・ペイロードを送信できます。 ペイロード内のデータのみではなく、メタデータも送信する必要がある場合や、メッセージのJMSヘッダーとの間でプロパティをマップするカスタム・メソッドを指定する必要がある場合は、AdapterMessageの独自のサブクラスを作成できます。

AdpaterMessageプロパティ・マップの使用

AdapterMessageのサブクラスは、AdapterMessageベース・クラスのプロパティ・マップを使用して、プロパティを格納および取得できます。このクラスには、プロパティ・マップのコンテンツを操作するためのメソッドが含まれ、プロパティをJMSヘッダーへ、またはJMSヘッダーからカスタム・マッピングできます。

マップのコンテンツを操作するための主なメソッドは次のとおりです。

AdapterMessageオブジェクトをサブクラス化して、JMSヘッダーにプロパティをマップするカスタム・メソッドを提供するには、encodePropertiesおよびdecodePropertiesメソッドをオーバーライドします。これらのメソッドは、カスタム・プロパティをJMSヘッダーにどのように置くか、またはJMSヘッダーからカスタム・プロパティをどのように取り出すかを指定します。


関連項目

メッセージ・アダプタ・ライブラリ

標準受信アダプタ

標準送信アダプタ

ビジネス・コンポーネント受信アダプタ

ビジネス・コンポーネント送信アダプタ

 

 

Copyright © 1997, 2004, Oracle. All rights reserved.