クラス 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。オブジェクトを BytesMessageEE または targetType が MessageType.TEXT に設定されている場合は TextMessageEE にマーシャリングします。TextMessageEE または BytesMessageEE からオブジェクトへの非整列化。- 導入:
- 3.0
- 作成者:
- Arjen Poutsma, Juergen Hoeller
コンストラクターの概要
コンストラクターコンストラクター説明MarshallingMessageConverter(Marshaller marshaller) 指定されたMarshallerセットで新しいMarshallingMessageConverterを構築します。MarshallingMessageConverter(Marshaller marshaller, Unmarshaller unmarshaller) 指定された Marshaller と Unmarshaller で新しいMarshallingMessageConverterを構築します。メソッドのサマリー
修飾子と型メソッド説明voidfromMessage(MessageEE message) この実装は、指定されたMessageEE をオブジェクトに非整列化します。protected BytesMessageEEmarshalToBytesMessage(ObjectSE object, SessionEE session, Marshaller marshaller) 指定されたオブジェクトをBytesMessageEE にマーシャリングします。protected MessageEEmarshalToMessage(ObjectSE object, SessionEE session, Marshaller marshaller, MessageType targetType) カスタムメッセージマーシャリングを可能にするテンプレートメソッド。protected TextMessageEEmarshalToTextMessage(ObjectSE object, SessionEE session, Marshaller marshaller) 指定されたオブジェクトをTextMessageEE にマーシャリングします。voidsetMarshaller(Marshaller marshaller) このメッセージコンバーターで使用するMarshallerを設定します。voidsetTargetType(MessageType targetType) voidsetUnmarshaller(Unmarshaller unmarshaller) このメッセージコンバーターで使用するUnmarshallerを設定します。この実装は、指定されたオブジェクトをTextMessageEE またはBytesMessageEE にマーシャリングします。protected ObjectSEunmarshalFromBytesMessage(BytesMessageEE message, Unmarshaller unmarshaller) 指定されたBytesMessageEE をオブジェクトに非整列化します。protected ObjectSEunmarshalFromMessage(MessageEE message, Unmarshaller unmarshaller) カスタムメッセージの非整列化を可能にするテンプレートメソッド。protected ObjectSEunmarshalFromTextMessage(TextMessageEE message, Unmarshaller unmarshaller) 指定されたTextMessageEE をオブジェクトに非整列化します。
コンストラクターの詳細
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)がBytesMessageEE またはTextMessageEE にマーシャリングするかどうかを指定します。デフォルトは
MessageType.BYTESです。つまり、このコンバーターはBytesMessageEE にマーシャリングします。このコンバーターのデフォルトバージョンは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 この実装は、指定されたオブジェクトをTextMessageEE またはBytesMessageEE にマーシャリングします。目的のメッセージ型は、"marshalTo"プロパティを設定することで定義できます。- 次で指定:
- インターフェース
MessageConverterのtoMessage - パラメーター:
object- 変換するオブジェクトsession- JMS メッセージの作成に使用するセッション- 戻り値:
- JMS メッセージ
- 例外:
JMSExceptionEE- JMS API メソッドによってスローされた場合MessageConversionException- 変換に失敗した場合- 関連事項:
fromMessage
この実装は、指定されたMessageEE をオブジェクトに非整列化します。- 次で指定:
- インターフェース
MessageConverterのfromMessage - パラメーター:
message- 変換するメッセージ- 戻り値:
- 変換された Java オブジェクト
- 例外:
JMSExceptionEE- JMS API メソッドによってスローされた場合MessageConversionException- 変換に失敗した場合- 関連事項:
marshalToTextMessage
protected TextMessageEE marshalToTextMessage(ObjectSE object, SessionEE session, Marshaller marshaller) throws JMSExceptionEE, IOExceptionSE, XmlMappingException 指定されたオブジェクトをTextMessageEE にマーシャリングします。- パラメーター:
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 指定されたオブジェクトをBytesMessageEE にマーシャリングします。- パラメーター:
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でない場合に呼び出されます。デフォルトの実装は
IllegalArgumentExceptionSE をスローします。- パラメーター:
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 指定されたTextMessageEE をオブジェクトに非整列化します。- パラメーター:
message- メッセージunmarshaller- 使用するアンマーシャラー- 戻り値:
- 非整列化オブジェクト
- 例外:
JMSExceptionEE- JMS メソッドによってスローされた場合IOExceptionSE- I/O エラーの場合XmlMappingException- OXM マッピングエラーの場合- 関連事項:
unmarshalFromBytesMessage
protected ObjectSE unmarshalFromBytesMessage(BytesMessageEE message, Unmarshaller unmarshaller) throws JMSExceptionEE, IOExceptionSE, XmlMappingException 指定されたBytesMessageEE をオブジェクトに非整列化します。- パラメーター:
message- メッセージunmarshaller- 使用するアンマーシャラー- 戻り値:
- 非整列化オブジェクト
- 例外:
JMSExceptionEE- JMS メソッドによってスローされた場合IOExceptionSE- I/O エラーの場合XmlMappingException- OXM マッピングエラーの場合- 関連事項:
unmarshalFromMessage
protected ObjectSE unmarshalFromMessage(MessageEE message, Unmarshaller unmarshaller) throws JMSExceptionEE, IOExceptionSE, XmlMappingException カスタムメッセージの非整列化を可能にするテンプレートメソッド。TextMessageEE またはBytesMessageEE 以外のメッセージでfromMessage(Message)が呼び出されると呼び出されます。デフォルトの実装は
IllegalArgumentExceptionSE をスローします。- パラメーター:
message- メッセージunmarshaller- 使用するアンマーシャラー- 戻り値:
- 非整列化オブジェクト
- 例外:
JMSExceptionEE- JMS メソッドによってスローされた場合IOExceptionSE- I/O エラーの場合XmlMappingException- OXM マッピングエラーの場合