Red Hat Training

A Red Hat training course is available for JBoss Enterprise SOA Platform

4.2.21. メッセージボディーの拡張

拡張機能の種類

org.jboss.soa.esb.message.body.content.TextBody
Body のコンテンツは任意の文字列であり、getText および setText メソッドを介して操作できます。
org.jboss.soa.esb.message.body.content.ObjectBody
ボディーのコンテンツはシリアル化されたオブジェクトで、getObject および setObject メソッドを介して操作できます。
org.jboss.soa.esb.message.body.content.MapBody
ボディーのコンテンツはマップ (String、Serialized) で、setMap およびその他のメソッドを介して操作できます。
org.jboss.soa.esb.message.body.content.BytesBody
本体の内容は、任意の Java データ型を含むバイトストリームです。データ型のさまざまなセッターおよびゲッターメソッドを使用して操作できます。BytesMessage を作成したら、必要な操作方法に応じて、読み取り専用モードまたは書き込み専用モードに設定する必要があります。これらのモードを (readMode と writeMode を使用して) 切り替えることは可能ですが、モードが変更されるたびにバッファーポインターがリセットされます。すべての更新がボディーにプッシュされたことを確認するには、終了時にフラッシュを呼び出す必要があります。
XMLMessageFactory または SerializedMessageFactory クラスを介して、これらの特定のインターフェイスのいずれかに基づいてボディーを実装したメッセージを作成できます。
各種ボディータイプごとに関連付けられた create メソッドがあります。たとえば、createTextBody などです。これを使用して、その特定のタイプのメッセージを作成および初期化します。作成したら、生のボディーを編集するか、インターフェイスのメソッドを使用して、メッセージを直接操作します。ボディーの構造は送信後も維持されるため、メッセージ受信者はそれを作成したインターフェイスのメソッドを使用して操作できます。
XMLMessageFactory と SerializedMessageFactory は、MessageFactory と関連するクラスよりもメッセージを操作するのに便利な方法です。
注記
ベースボディインターフェイスへのこれらの拡張は、元のボディーを補完する形で指定します。そのため、既存のクライアントやサービスと組み合わせて使用できます。メッセージ内の基礎となるデータ構造は変更されないため、メッセージコンシューマーは、必要に応じてこれらの新しい型を認識しないままにすることができます。これらの拡張機能は、デフォルトの場所にデータを保存しないことに注意してください。データは、拡張インスタンスの対応するゲッターを使用して取得する必要があります。