クラス MarshallingMessageConverter
java.lang.ObjectSE
org.springframework.jms.support.converter.MarshallingMessageConverter
- 実装されたすべてのインターフェース:
InitializingBean
,MessageConverter
public class MarshallingMessageConverter
extends ObjectSE
implements MessageConverter, InitializingBean
Marshaller
および Unmarshaller
を使用する Spring JMS MessageConverter
。オブジェクトを BytesMessage
EE または targetType
が MessageType.TEXT
に設定されている場合は TextMessage
EE にマーシャリングします。TextMessage
EE または BytesMessage
EE からオブジェクトへの非整列化。- 導入:
- 3.0
- 作成者:
- Arjen Poutsma, Juergen Hoeller
コンストラクターの概要
コンストラクターコンストラクター説明MarshallingMessageConverter
(Marshaller marshaller) 指定されたMarshaller
セットで新しいMarshallingMessageConverter
を構築します。MarshallingMessageConverter
(Marshaller marshaller, Unmarshaller unmarshaller) 指定された Marshaller と Unmarshaller で新しいMarshallingMessageConverter
を構築します。メソッドのサマリー
修飾子と型メソッド説明void
fromMessage
(MessageEE message) この実装は、指定されたMessage
EE をオブジェクトに非整列化します。protected BytesMessageEE
marshalToBytesMessage
(ObjectSE object, SessionEE session, Marshaller marshaller) 指定されたオブジェクトをBytesMessage
EE にマーシャリングします。protected MessageEE
marshalToMessage
(ObjectSE object, SessionEE session, Marshaller marshaller, MessageType targetType) カスタムメッセージマーシャリングを可能にするテンプレートメソッド。protected TextMessageEE
marshalToTextMessage
(ObjectSE object, SessionEE session, Marshaller marshaller) 指定されたオブジェクトをTextMessage
EE にマーシャリングします。void
setMarshaller
(Marshaller marshaller) このメッセージコンバーターで使用するMarshaller
を設定します。void
setTargetType
(MessageType targetType) void
setUnmarshaller
(Unmarshaller unmarshaller) このメッセージコンバーターで使用するUnmarshaller
を設定します。この実装は、指定されたオブジェクトをTextMessage
EE またはBytesMessage
EE にマーシャリングします。protected ObjectSE
unmarshalFromBytesMessage
(BytesMessageEE message, Unmarshaller unmarshaller) 指定されたBytesMessage
EE をオブジェクトに非整列化します。protected ObjectSE
unmarshalFromMessage
(MessageEE message, Unmarshaller unmarshaller) カスタムメッセージの非整列化を可能にするテンプレートメソッド。protected ObjectSE
unmarshalFromTextMessage
(TextMessageEE message, Unmarshaller unmarshaller) 指定されたTextMessage
EE をオブジェクトに非整列化します。
コンストラクターの詳細
MarshallingMessageConverter
public MarshallingMessageConverter()Marshaller
またはUnmarshaller
が設定されていない新しいMarshallingMessageConverter
を構築します。マーシャラーは、構築後にsetMarshaller(Marshaller)
およびsetUnmarshaller(Unmarshaller)
を呼び出して設定する必要があります。MarshallingMessageConverter
指定されたMarshaller
セットで新しいMarshallingMessageConverter
を構築します。指定された
Marshaller
がUnmarshaller
インターフェースも実装している場合、マーシャリングとアンマーシャリングの両方に使用されます。そうでない場合、例外がスローされます。Spring のすべての
Marshaller
実装もUnmarshaller
インターフェースを実装するため、このコンストラクターを安全に使用できることに注意してください。- パラメーター:
marshaller
- マーシャラーおよびアンマーシャラーとして使用されるオブジェクト- 例外:
IllegalArgumentExceptionSE
-marshaller
がUnmarshaller
インターフェースも実装していない場合
MarshallingMessageConverter
指定された Marshaller と Unmarshaller で新しいMarshallingMessageConverter
を構築します。- パラメーター:
marshaller
- 使用するマーシャラーunmarshaller
- 使用するアンマーシャラー
メソッドの詳細
setMarshaller
このメッセージコンバーターで使用するMarshaller
を設定します。setUnmarshaller
このメッセージコンバーターで使用するUnmarshaller
を設定します。setTargetType
toMessage(Object, Session)
がBytesMessage
EE またはTextMessage
EE にマーシャリングするかどうかを指定します。デフォルトは
MessageType.BYTES
です。つまり、このコンバーターはBytesMessage
EE にマーシャリングします。このコンバーターのデフォルトバージョンはMessageType.BYTES
およびMessageType.TEXT
のみをサポートすることに注意してください。afterPropertiesSet
public void afterPropertiesSet()インターフェースからコピーされた説明:InitializingBean
すべての Bean プロパティを設定し、BeanFactoryAware
、ApplicationContextAware
などを満たした後、包含BeanFactory
によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
toMessage
public MessageEE toMessage(ObjectSE object, SessionEE session) throws JMSExceptionEE, MessageConversionException この実装は、指定されたオブジェクトをTextMessage
EE またはBytesMessage
EE にマーシャリングします。目的のメッセージ型は、"marshalTo"
プロパティを設定することで定義できます。- 次で指定:
- インターフェース
MessageConverter
のtoMessage
- パラメーター:
object
- 変換するオブジェクトsession
- JMS メッセージの作成に使用するセッション- 戻り値:
- JMS メッセージ
- 例外:
JMSExceptionEE
- JMS API メソッドによってスローされた場合MessageConversionException
- 変換に失敗した場合- 関連事項:
fromMessage
この実装は、指定されたMessage
EE をオブジェクトに非整列化します。- 次で指定:
- インターフェース
MessageConverter
のfromMessage
- パラメーター:
message
- 変換するメッセージ- 戻り値:
- 変換された Java オブジェクト
- 例外:
JMSExceptionEE
- JMS API メソッドによってスローされた場合MessageConversionException
- 変換に失敗した場合- 関連事項:
marshalToTextMessage
protected TextMessageEE marshalToTextMessage(ObjectSE object, SessionEE session, Marshaller marshaller) throws JMSExceptionEE, IOExceptionSE, XmlMappingException 指定されたオブジェクトをTextMessage
EE にマーシャリングします。- パラメーター:
object
- 整列化されるオブジェクトsession
- 現在の JMS セッションmarshaller
- 使用するマーシャラー- 戻り値:
- 結果のメッセージ
- 例外:
JMSExceptionEE
- JMS メソッドによってスローされた場合IOExceptionSE
- I/O エラーの場合XmlMappingException
- OXM マッピングエラーの場合- 関連事項:
marshalToBytesMessage
protected BytesMessageEE marshalToBytesMessage(ObjectSE object, SessionEE session, Marshaller marshaller) throws JMSExceptionEE, IOExceptionSE, XmlMappingException 指定されたオブジェクトをBytesMessage
EE にマーシャリングします。- パラメーター:
object
- 整列化されるオブジェクトsession
- 現在の JMS セッションmarshaller
- 使用するマーシャラー- 戻り値:
- 結果のメッセージ
- 例外:
JMSExceptionEE
- JMS メソッドによってスローされた場合IOExceptionSE
- I/O エラーの場合XmlMappingException
- OXM マッピングエラーの場合- 関連事項:
marshalToMessage
protected MessageEE marshalToMessage(ObjectSE object, SessionEE session, Marshaller marshaller, MessageType targetType) throws JMSExceptionEE, IOExceptionSE, XmlMappingException カスタムメッセージマーシャリングを可能にするテンプレートメソッド。setTargetType(org.springframework.jms.support.converter.MessageType)
がMessageType.TEXT
またはMessageType.BYTES
でない場合に呼び出されます。デフォルトの実装は
IllegalArgumentException
SE をスローします。- パラメーター:
object
- マーシャリングするオブジェクトsession
- JMS セッションmarshaller
- 使用するマーシャラーtargetType
- ターゲットメッセージ型 (TEXT または BYTES 以外)- 戻り値:
- 結果のメッセージ
- 例外:
JMSExceptionEE
- JMS メソッドによってスローされた場合IOExceptionSE
- I/O エラーの場合XmlMappingException
- OXM マッピングエラーの場合
unmarshalFromTextMessage
protected ObjectSE unmarshalFromTextMessage(TextMessageEE message, Unmarshaller unmarshaller) throws JMSExceptionEE, IOExceptionSE, XmlMappingException 指定されたTextMessage
EE をオブジェクトに非整列化します。- パラメーター:
message
- メッセージunmarshaller
- 使用するアンマーシャラー- 戻り値:
- 非整列化オブジェクト
- 例外:
JMSExceptionEE
- JMS メソッドによってスローされた場合IOExceptionSE
- I/O エラーの場合XmlMappingException
- OXM マッピングエラーの場合- 関連事項:
unmarshalFromBytesMessage
protected ObjectSE unmarshalFromBytesMessage(BytesMessageEE message, Unmarshaller unmarshaller) throws JMSExceptionEE, IOExceptionSE, XmlMappingException 指定されたBytesMessage
EE をオブジェクトに非整列化します。- パラメーター:
message
- メッセージunmarshaller
- 使用するアンマーシャラー- 戻り値:
- 非整列化オブジェクト
- 例外:
JMSExceptionEE
- JMS メソッドによってスローされた場合IOExceptionSE
- I/O エラーの場合XmlMappingException
- OXM マッピングエラーの場合- 関連事項:
unmarshalFromMessage
protected ObjectSE unmarshalFromMessage(MessageEE message, Unmarshaller unmarshaller) throws JMSExceptionEE, IOExceptionSE, XmlMappingException カスタムメッセージの非整列化を可能にするテンプレートメソッド。TextMessage
EE またはBytesMessage
EE 以外のメッセージでfromMessage(Message)
が呼び出されると呼び出されます。デフォルトの実装は
IllegalArgumentException
SE をスローします。- パラメーター:
message
- メッセージunmarshaller
- 使用するアンマーシャラー- 戻り値:
- 非整列化オブジェクト
- 例外:
JMSExceptionEE
- JMS メソッドによってスローされた場合IOExceptionSE
- I/O エラーの場合XmlMappingException
- OXM マッピングエラーの場合