クラス MappingJackson2MessageConverter

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

@DeprecatedSE(since="7.0", forRemoval=true) public class MappingJackson2MessageConverter extends ObjectSE implements SmartMessageConverter, BeanClassLoaderAware
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
7.0 以降、JacksonJsonMessageConverter を推奨
Jackson 2.x を使用して JSON との間でメッセージを変換するメッセージコンバーター。

オブジェクトを BytesMessageEE にマップするか、targetTypeMessageType.TEXT に設定されている場合は TextMessageEE にマップします。TextMessageEE または BytesMessageEE からオブジェクトに変換します。

Jackson のデフォルトプロパティを次のようにカスタマイズします。

  • MapperFeature.DEFAULT_VIEW_INCLUSION は無効です
  • DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES は無効です
導入:
3.1.4
作成者:
Mark Pollack, Dave Syer, Juergen Hoeller, Stephane Nicoll
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final StringSE
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    テキストメッセージへの書き込みに使用されるデフォルトのエンコーディング: UTF-8。
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    デフォルトの ObjectMapper を使用して MappingJackson2MessageConverter を構築します。
    MappingJackson2MessageConverter(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    カスタム ObjectMapper を使用して MappingJackson2MessageConverter を構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    protected ObjectSE
    convertFromBytesMessage(BytesMessageEE message, com.fasterxml.jackson.databind.JavaType targetJavaType)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    BytesMessage を、指定された型の Java オブジェクトに変換します。
    protected ObjectSE
    convertFromMessage(MessageEE message, com.fasterxml.jackson.databind.JavaType targetJavaType)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    カスタムメッセージマッピングを可能にするテンプレートメソッド。
    protected ObjectSE
    convertFromTextMessage(TextMessageEE message, com.fasterxml.jackson.databind.JavaType targetJavaType)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    TextMessage を、指定された型の Java オブジェクトに変換します。
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    JMS メッセージから Java オブジェクトに変換します。
    protected com.fasterxml.jackson.databind.JavaType
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    指定された JMS メッセージの Jackson JavaType を決定します。通常は、型 ID メッセージプロパティを解析します。
    protected @Nullable ClassSE<?>
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    指定された変換ヒントに基づいて、Jackson 直列化ビューを決定します。
    protected BytesMessageEE
    mapToBytesMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    指定されたオブジェクトを BytesMessageEE にマッピングします。
    protected MessageEE
    mapToMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter, MessageType targetType)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    カスタムメッセージマッピングを可能にするテンプレートメソッド。
    protected TextMessageEE
    mapToTextMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    指定されたオブジェクトを TextMessageEE にマッピングします。
    void
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    Bean class loaderSE を Bean インスタンスに提供するコールバック。
    void
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するエンコーディングを指定します。
    void
    setEncodingPropertyName(StringSE encodingPropertyName)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    バイトから文字列へのエンコーディングを運ぶ JMS メッセージプロパティの名前を指定し、変換プロセス中に BytesMessage が使用されます。
    void
    setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    このコンバーターの ObjectMapper を設定します。
    void
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    toMessage(Object, Session)BytesMessageEE または TextMessageEE にマーシャリングするかどうかを指定します。
    void
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    必要に応じて、型 ID から Java クラスへのマッピングを指定します。
    protected void
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    指定された JMS メッセージの指定されたペイロードオブジェクトの型 ID を設定します。
    void
    setTypeIdPropertyName(StringSE typeIdPropertyName)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    含まれるオブジェクトの型 ID を保持する JMS メッセージプロパティの名前(マップされた ID 値または生の Java クラス名)を指定します。
    toMessage(ObjectSE object, SessionEE session)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。
    protected MessageEE
    toMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    toMessage(ObjectSE object, SessionEE session, @Nullable ClassSE<?> jsonView)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    指定された json ビューと提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。
    toMessage(ObjectSE object, SessionEE session, @Nullable ObjectSE conversionHint)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    MessageConverter.toMessage(Object, Session) のバリアントで、追加の変換コンテキストを引数として受け取り、たとえばペイロードパラメーターのアノテーションを考慮に入れることができます。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

    • DEFAULT_ENCODING

      public static final StringSE DEFAULT_ENCODING
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      テキストメッセージへの書き込みに使用されるデフォルトのエンコーディング: UTF-8。
      関連事項:
  • コンストラクターの詳細

    • MappingJackson2MessageConverter

      public MappingJackson2MessageConverter()
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      デフォルトの ObjectMapper を使用して MappingJackson2MessageConverter を構築します。
    • MappingJackson2MessageConverter

      public MappingJackson2MessageConverter(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      カスタム ObjectMapper を使用して MappingJackson2MessageConverter を構築します。
      パラメーター:
      objectMapper - 使用する ObjectMapper 
      導入:
      6.1
  • メソッドの詳細

    • setObjectMapper

      public void setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      このコンバーターの ObjectMapper を設定します。

      設定されていない場合は、デフォルトの ObjectMapper が使用されます。

    • setTargetType

      public void setTargetType(MessageType targetType)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      toMessage(Object, Session)BytesMessageEE または TextMessageEE にマーシャリングするかどうかを指定します。

      デフォルトは MessageType.BYTES です。つまり、このコンバーターは BytesMessageEE にマーシャリングします。このコンバーターのデフォルトバージョンは MessageType.BYTES および MessageType.TEXT のみをサポートすることに注意してください。

      関連事項:
    • setEncoding

      public void setEncoding(StringSE encoding)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するエンコーディングを指定します。デフォルトのエンコーディングは "UTF-8" です。

      テキストベースのメッセージから読み取る場合、特別な JMS プロパティを通じてエンコーディングが提案されている可能性があり、この MessageConverter インスタンスに設定されたエンコーディングよりも優先されます。

      関連事項:
    • setEncodingPropertyName

      public void setEncodingPropertyName(StringSE encodingPropertyName)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      バイトから文字列へのエンコーディングを運ぶ JMS メッセージプロパティの名前を指定し、変換プロセス中に BytesMessage が使用されます。

      デフォルトはなしです。このプロパティの設定はオプションです。設定されていない場合、受信バイトメッセージのデコードには UTF-8 が使用されます。

      関連事項:
    • setTypeIdPropertyName

      public void setTypeIdPropertyName(StringSE typeIdPropertyName)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      含まれるオブジェクトの型 ID を保持する JMS メッセージプロパティの名前(マップされた ID 値または生の Java クラス名)を指定します。

      デフォルトはなしです。 注: 受信メッセージから Java オブジェクトへの変換を可能にするには、このプロパティを設定する必要があります

      関連事項:
    • setTypeIdMappings

      public void setTypeIdMappings(MapSE<StringSE,ClassSE<?>> typeIdMappings)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      必要に応じて、型 ID から Java クラスへのマッピングを指定します。これにより、Java クラス名を転送する代わりに、型 ID メッセージプロパティで合成 ID を使用できます。

      デフォルトは、カスタムマッピングなし、つまり生の Java クラス名を転送します。

      パラメーター:
      typeIdMappings - 型 ID 値をキーとして、Java クラスを値として持つ Map
    • setBeanClassLoader

      public void setBeanClassLoader(ClassLoaderSE classLoader)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      インターフェースからコピーされた説明: BeanClassLoaderAware
      Bean class loaderSE を Bean インスタンスに提供するコールバック。

      通常の Bean プロパティの設定、ただし InitializingBean's InitializingBean.afterPropertiesSet() メソッドやカスタム init-method などの初期化コールバックの前に呼び出さます。

      次で指定:
      インターフェース BeanClassLoaderAwaresetBeanClassLoader 
      パラメーター:
      classLoader - 所有クラスローダー
    • toMessage

      public MessageEE toMessage(ObjectSE object, SessionEE session) throws JMSExceptionEE, MessageConversionException
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      インターフェースからコピーされた説明: MessageConverter
      提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。
      次で指定:
      インターフェース MessageConvertertoMessage 
      パラメーター:
      object - 変換するオブジェクト
      session - JMS メッセージの作成に使用するセッション
      戻り値:
      JMS メッセージ
      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
      MessageConversionException - 変換に失敗した場合
    • toMessage

      public MessageEE toMessage(ObjectSE object, SessionEE session, @Nullable ObjectSE conversionHint) throws JMSExceptionEE, MessageConversionException
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      インターフェースからコピーされた説明: SmartMessageConverter
      MessageConverter.toMessage(Object, Session) のバリアントで、追加の変換コンテキストを引数として受け取り、たとえばペイロードパラメーターのアノテーションを考慮に入れることができます。
      次で指定:
      インターフェース SmartMessageConvertertoMessage 
      パラメーター:
      object - 変換するオブジェクト
      session - JMS メッセージの作成に使用するセッション
      conversionHint - MessageConverter に渡される追加オブジェクト(たとえば、関連する MethodParameter) (null かもしれない)
      戻り値:
      JMS メッセージ
      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
      MessageConversionException - 変換に失敗した場合
      関連事項:
    • toMessage

      public MessageEE toMessage(ObjectSE object, SessionEE session, @Nullable ClassSE<?> jsonView) throws JMSExceptionEE, MessageConversionException
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      指定された json ビューと提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。
      パラメーター:
      object - 変換するオブジェクト
      session - JMS メッセージの作成に使用するセッション
      jsonView - コンテンツのフィルタリングに使用するビュー
      戻り値:
      JMS メッセージ
      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
      MessageConversionException - 変換に失敗した場合
      導入:
      4.3
    • fromMessage

      public ObjectSE fromMessage(MessageEE message) throws JMSExceptionEE, MessageConversionException
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      インターフェースからコピーされた説明: MessageConverter
      JMS メッセージから Java オブジェクトに変換します。
      次で指定:
      インターフェース MessageConverterfromMessage 
      パラメーター:
      message - 変換するメッセージ
      戻り値:
      変換された Java オブジェクト
      例外:
      JMSExceptionEE - JMS API メソッドによってスローされた場合
      MessageConversionException - 変換に失敗した場合
    • toMessage

      protected MessageEE toMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter) throws JMSExceptionEE, MessageConversionException
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      例外:
      JMSExceptionEE
      MessageConversionException
    • mapToTextMessage

      protected TextMessageEE mapToTextMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter) throws JMSExceptionEE, IOExceptionSE
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      指定されたオブジェクトを TextMessageEE にマッピングします。
      パラメーター:
      object - マッピングされるオブジェクト
      session - 現在の JMS セッション
      objectWriter - 使用するライター
      戻り値:
      結果のメッセージ
      例外:
      JMSExceptionEE - JMS メソッドによってスローされた場合
      IOExceptionSE - I/O エラーの場合
      導入:
      4.3
      関連事項:
    • mapToBytesMessage

      protected BytesMessageEE mapToBytesMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter) throws JMSExceptionEE, IOExceptionSE
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      指定されたオブジェクトを BytesMessageEE にマッピングします。
      パラメーター:
      object - マッピングされるオブジェクト
      session - 現在の JMS セッション
      objectWriter - 使用するライター
      戻り値:
      結果のメッセージ
      例外:
      JMSExceptionEE - JMS メソッドによってスローされた場合
      IOExceptionSE - I/O エラーの場合
      導入:
      4.3
      関連事項:
    • mapToMessage

      protected MessageEE mapToMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter, MessageType targetType) throws JMSExceptionEE, IOExceptionSE
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      カスタムメッセージマッピングを可能にするテンプレートメソッド。setTargetType(org.springframework.jms.support.converter.MessageType)MessageType.TEXT または MessageType.BYTES でない場合に呼び出されます。

      デフォルトの実装は IllegalArgumentExceptionSE をスローします。

      パラメーター:
      object - マーシャリングするオブジェクト
      session - JMS セッション
      objectWriter - 使用するライター
      targetType - ターゲットメッセージ型 (TEXT または BYTES 以外)
      戻り値:
      結果のメッセージ
      例外:
      JMSExceptionEE - JMS メソッドによってスローされた場合
      IOExceptionSE - I/O エラーの場合
    • setTypeIdOnMessage

      protected void setTypeIdOnMessage(ObjectSE object, MessageEE message) throws JMSExceptionEE
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      指定された JMS メッセージの指定されたペイロードオブジェクトの型 ID を設定します。

      デフォルトの実装は、設定された型 ID マッピングを調べて、結果の値(マッピングされた ID または生の Java クラス名)を設定された型 ID メッセージプロパティに設定します。

      パラメーター:
      object - 型 ID を設定するペイロードオブジェクト
      message - 型 ID プロパティを設定する JMS メッセージ
      例外:
      JMSExceptionEE - JMS メソッドによってスローされた場合
      関連事項:
    • convertFromTextMessage

      protected ObjectSE convertFromTextMessage(TextMessageEE message, com.fasterxml.jackson.databind.JavaType targetJavaType) throws JMSExceptionEE, IOExceptionSE
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      TextMessage を、指定された型の Java オブジェクトに変換します。
      パラメーター:
      message - 入力メッセージ
      targetJavaType - ターゲット型
      戻り値:
      オブジェクトに変換されたメッセージ
      例外:
      JMSExceptionEE - JMS によってスローされた場合
      IOExceptionSE - I/O エラーの場合
    • convertFromBytesMessage

      protected ObjectSE convertFromBytesMessage(BytesMessageEE message, com.fasterxml.jackson.databind.JavaType targetJavaType) throws JMSExceptionEE, IOExceptionSE
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      BytesMessage を、指定された型の Java オブジェクトに変換します。
      パラメーター:
      message - 入力メッセージ
      targetJavaType - ターゲット型
      戻り値:
      オブジェクトに変換されたメッセージ
      例外:
      JMSExceptionEE - JMS によってスローされた場合
      IOExceptionSE - I/O エラーの場合
    • convertFromMessage

      protected ObjectSE convertFromMessage(MessageEE message, com.fasterxml.jackson.databind.JavaType targetJavaType) throws JMSExceptionEE, IOExceptionSE
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      カスタムメッセージマッピングを可能にするテンプレートメソッド。setTargetType(org.springframework.jms.support.converter.MessageType)MessageType.TEXT または MessageType.BYTES でない場合に呼び出されます。

      デフォルトの実装は IllegalArgumentExceptionSE をスローします。

      パラメーター:
      message - 入力メッセージ
      targetJavaType - ターゲット型
      戻り値:
      オブジェクトに変換されたメッセージ
      例外:
      JMSExceptionEE - JMS によってスローされた場合
      IOExceptionSE - I/O エラーの場合
    • getJavaTypeForMessage

      protected com.fasterxml.jackson.databind.JavaType getJavaTypeForMessage(MessageEE message) throws JMSExceptionEE
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      指定された JMS メッセージの Jackson JavaType を決定します。通常は、型 ID メッセージプロパティを解析します。

      デフォルトの実装では、構成された型 ID プロパティ名を解析し、構成された型 ID マッピングを参照します。これは、たとえばメッセージの送信元に基づいてヒューリスティックを実行するなど、別の戦略で上書きできます。

      パラメーター:
      message - 型 ID プロパティを取得する JMS メッセージ
      例外:
      JMSExceptionEE - JMS メソッドによってスローされた場合
      関連事項:
    • getSerializationView

      protected @Nullable ClassSE<?> getSerializationView(@Nullable ObjectSE conversionHint)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      指定された変換ヒントに基づいて、Jackson 直列化ビューを決定します。
      パラメーター:
      conversionHint - 現在の変換の試行のためにコンバーターに渡される変換ヒントオブジェクト
      戻り値:
      直列化ビュークラス、または存在しない場合は null