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