メッセージ・ペイロードのための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オブジェクトからペイロードを取り出し、そのペイロードを元のタイプに返すことができます。

Business Components for Javaアダプタを使用したAdapterMessageオブジェクトの使用

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


AdapterMessage message = AdapterMessage.newViewObjectMessage(payload)
 

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

Business Components for Java送信アダプタでは、生成されたクライアント・コードの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ヘッダーへ(あるいはJMSヘッダーから)プロパティをマップするカスタム・メソッドを指定する必要がある場合は、AdapterMessageの独自のサブクラスを作成できます。

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

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

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

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


関連項目

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

標準受信アダプタ

標準送信アダプタ

Business Components for Java受信アダプタ

Business Components for Java送信アダプタ