クラス MarshallingMessageConverter

java.lang.ObjectSE
org.springframework.jms.support.converter.MarshallingMessageConverter
実装されているすべてのインターフェース:
InitializingBean, MessageConverter

public class MarshallingMessageConverter extends ObjectSE implements MessageConverter, InitializingBean
Spring JMS MessageConverter は、MarshallerUnmarshaller を使用します。オブジェクトを BytesMessage にマーシャリングします。targetTypeMessageType.TEXT に設定されている場合は、TextMessage にマーシャリングします。TextMessage または BytesMessage からオブジェクトにアンマーシャリングします。
導入:
3.0
作成者:
Arjen Poutsma, Juergen Hoeller
  • コンストラクターの詳細

    • MarshallingMessageConverter

      public MarshallingMessageConverter()
      Marshaller または Unmarshaller が設定されていない新しい MarshallingMessageConverter を構築します。マーシャラーは、構築後に setMarshaller(Marshaller) および setUnmarshaller(Unmarshaller) を呼び出して設定する必要があります。
    • MarshallingMessageConverter

      public MarshallingMessageConverter(Marshaller marshaller)
      指定された Marshaller セットで新しい MarshallingMessageConverter を構築します。

      指定された MarshallerUnmarshaller インターフェースも実装している場合、マーシャリングとアンマーシャリングの両方に使用されます。そうでない場合、例外がスローされます。

      Spring のすべての Marshaller 実装も Unmarshaller インターフェースを実装するため、このコンストラクターを安全に使用できることに注意してください。

      パラメーター:
      marshaller - マーシャラーおよびアンマーシャラーとして使用されるオブジェクト
      例外:
      IllegalArgumentExceptionSE - marshaller が Unmarshaller インターフェースも実装していない場合
    • MarshallingMessageConverter

      public MarshallingMessageConverter(Marshaller marshaller, Unmarshaller unmarshaller)
      指定された Marshaller と Unmarshaller で新しい MarshallingMessageConverter を構築します。
      パラメーター:
      marshaller - 使用するマーシャラー
      unmarshaller - 使用するアンマーシャラー
  • メソッドの詳細

    • setMarshaller

      public void setMarshaller(Marshaller marshaller)
      このメッセージコンバーターで使用する Marshaller を設定します。
    • setUnmarshaller

      public void setUnmarshaller(Unmarshaller unmarshaller)
      このメッセージコンバーターで使用する Unmarshaller を設定します。
    • setTargetType

      public void setTargetType(MessageType targetType)
      toMessage(Object, Session) を BytesMessage または TextMessage にマーシャリングするかどうかを指定します。

      デフォルトは MessageType.BYTES です。つまり、このコンバーターは BytesMessage に変換されます。このコンバーターのデフォルトバージョンは、MessageType.BYTESMessageType.TEXT のみをサポートすることに注意してください。

      関連事項:
    • afterPropertiesSet

      public void afterPropertiesSet()
      インターフェースからコピーされた説明: InitializingBean
      すべての Bean プロパティを設定し、BeanFactoryAwareApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。

      このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。

      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
    • toMessage

      public jakarta.jms.Message toMessage(ObjectSE object, jakarta.jms.Session session) throws jakarta.jms.JMSException, MessageConversionException
      この実装は、指定されたオブジェクトを TextMessage または BytesMessage にマーシャリングします。必要なメッセージ型は、"marshalTo" プロパティを設定することで定義できます。
      次で指定:
      インターフェース MessageConvertertoMessage 
      パラメーター:
      object - 変換するオブジェクト
      session - JMS メッセージの作成に使用するセッション
      戻り値:
      JMS メッセージ
      例外:
      jakarta.jms.JMSException - JMS API メソッドによってスローされた場合
      MessageConversionException - 変換に失敗した場合
      関連事項:
    • fromMessage

      public ObjectSE fromMessage(jakarta.jms.Message message) throws jakarta.jms.JMSException, MessageConversionException
      この実装は、指定された Message をオブジェクトにアンマーシャリングします。
      次で指定:
      インターフェース MessageConverterfromMessage 
      パラメーター:
      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 マッピングエラーの場合