クラス MappingJackson2MessageConverter
- 実装されているすべてのインターフェース:
Aware、BeanClassLoaderAware、MessageConverter、SmartMessageConverter
オブジェクトを BytesMessageEE にマップするか、targetType が MessageType.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 ObjectSEconvertFromBytesMessage(BytesMessageEE message, com.fasterxml.jackson.databind.JavaType targetJavaType) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。BytesMessage を、指定された型の Java オブジェクトに変換します。protected ObjectSEconvertFromMessage(MessageEE message, com.fasterxml.jackson.databind.JavaType targetJavaType) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。カスタムメッセージマッピングを可能にするテンプレートメソッド。protected ObjectSEconvertFromTextMessage(TextMessageEE message, com.fasterxml.jackson.databind.JavaType targetJavaType) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。TextMessage を、指定された型の Java オブジェクトに変換します。fromMessage(MessageEE message) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。JMS メッセージから Java オブジェクトに変換します。protected com.fasterxml.jackson.databind.JavaTypegetJavaTypeForMessage(MessageEE message) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。指定された JMS メッセージの Jackson JavaType を決定します。通常は、型 ID メッセージプロパティを解析します。getSerializationView(@Nullable ObjectSE conversionHint) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。指定された変換ヒントに基づいて、Jackson 直列化ビューを決定します。protected BytesMessageEEmapToBytesMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。指定されたオブジェクトをBytesMessageEE にマッピングします。protected MessageEEmapToMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter, MessageType targetType) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。カスタムメッセージマッピングを可能にするテンプレートメソッド。protected TextMessageEEmapToTextMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。指定されたオブジェクトをTextMessageEE にマッピングします。voidsetBeanClassLoader(ClassLoaderSE classLoader) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。Beanclass loaderSE を Bean インスタンスに提供するコールバック。voidsetEncoding(StringSE encoding) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するエンコーディングを指定します。voidsetEncodingPropertyName(StringSE encodingPropertyName) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。バイトから文字列へのエンコーディングを運ぶ JMS メッセージプロパティの名前を指定し、変換プロセス中に BytesMessage が使用されます。voidsetObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。このコンバーターのObjectMapperを設定します。voidsetTargetType(MessageType targetType) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。voidsetTypeIdMappings(MapSE<StringSE, ClassSE<?>> typeIdMappings) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。必要に応じて、型 ID から Java クラスへのマッピングを指定します。protected voidsetTypeIdOnMessage(ObjectSE object, MessageEE message) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。指定された JMS メッセージの指定されたペイロードオブジェクトの型 ID を設定します。voidsetTypeIdPropertyName(StringSE typeIdPropertyName) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。含まれるオブジェクトの型 ID を保持する JMS メッセージプロパティの名前(マップされた ID 値または生の Java クラス名)を指定します。非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。protected MessageEEtoMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。指定された json ビューと提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。MessageConverter.toMessage(Object, Session)のバリアントで、追加の変換コンテキストを引数として受け取り、たとえばペイロードパラメーターのアノテーションを考慮に入れることができます。
フィールドの詳細
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
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。toMessage(Object, Session)がBytesMessageEE またはTextMessageEE にマーシャリングするかどうかを指定します。デフォルトは
MessageType.BYTESです。つまり、このコンバーターはBytesMessageEE にマーシャリングします。このコンバーターのデフォルトバージョンはMessageType.BYTESおよびMessageType.TEXTのみをサポートすることに注意してください。- 関連事項:
setEncoding
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するエンコーディングを指定します。デフォルトのエンコーディングは "UTF-8" です。テキストベースのメッセージから読み取る場合、特別な JMS プロパティを通じてエンコーディングが提案されている可能性があり、この MessageConverter インスタンスに設定されたエンコーディングよりも優先されます。
- 関連事項:
setEncodingPropertyName
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。バイトから文字列へのエンコーディングを運ぶ JMS メッセージプロパティの名前を指定し、変換プロセス中に BytesMessage が使用されます。デフォルトはなしです。このプロパティの設定はオプションです。設定されていない場合、受信バイトメッセージのデコードには UTF-8 が使用されます。
- 関連事項:
setTypeIdPropertyName
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。含まれるオブジェクトの型 ID を保持する JMS メッセージプロパティの名前(マップされた ID 値または生の Java クラス名)を指定します。デフォルトはなしです。 注: 受信メッセージから Java オブジェクトへの変換を可能にするには、このプロパティを設定する必要があります。
- 関連事項:
setTypeIdMappings
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。必要に応じて、型 ID から Java クラスへのマッピングを指定します。これにより、Java クラス名を転送する代わりに、型 ID メッセージプロパティで合成 ID を使用できます。デフォルトは、カスタムマッピングなし、つまり生の Java クラス名を転送します。
- パラメーター:
typeIdMappings- 型 ID 値をキーとして、Java クラスを値として持つ Map
setBeanClassLoader
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。インターフェースからコピーされた説明:BeanClassLoaderAwareBeanclass loaderSE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean'sInitializingBean.afterPropertiesSet()メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAwareのsetBeanClassLoader - パラメーター:
classLoader- 所有クラスローダー
toMessage
public MessageEE toMessage(ObjectSE object, SessionEE session) throws JMSExceptionEE, MessageConversionException 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。インターフェースからコピーされた説明:MessageConverter提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。- 次で指定:
- インターフェース
MessageConverterのtoMessage - パラメーター:
object- 変換するオブジェクトsession- JMS メッセージの作成に使用するセッション- 戻り値:
- JMS メッセージ
- 例外:
JMSExceptionEE- JMS API メソッドによってスローされた場合MessageConversionException- 変換に失敗した場合
toMessage
public MessageEE toMessage(ObjectSE object, SessionEE session, @Nullable ObjectSE conversionHint) throws JMSExceptionEE, MessageConversionException 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。インターフェースからコピーされた説明:SmartMessageConverterMessageConverter.toMessage(Object, Session)のバリアントで、追加の変換コンテキストを引数として受け取り、たとえばペイロードパラメーターのアノテーションを考慮に入れることができます。- 次で指定:
- インターフェース
SmartMessageConverterのtoMessage - パラメーター:
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
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。インターフェースからコピーされた説明:MessageConverterJMS メッセージから Java オブジェクトに変換します。- 次で指定:
- インターフェース
MessageConverterのfromMessage - パラメーター:
message- 変換するメッセージ- 戻り値:
- 変換された Java オブジェクト
- 例外:
JMSExceptionEE- JMS API メソッドによってスローされた場合MessageConversionException- 変換に失敗した場合
toMessage
protected MessageEE toMessage(ObjectSE object, SessionEE session, com.fasterxml.jackson.databind.ObjectWriter objectWriter) throws JMSExceptionEE, MessageConversionException 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。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
非推奨、削除予定: この 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
JacksonJsonMessageConverterを推奨