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