クラス MappingJackson2MessageConverter
- 実装されているすべてのインターフェース:
Aware、BeanClassLoaderAware、MessageConverter、SmartMessageConverter
BytesMessageEE に、または targetType が MessageType.TEXT に設定されている場合は TextMessageEE にマップします。TextMessageEE または BytesMessageEE からオブジェクトに変換します。Jackson のデフォルトプロパティを次のようにカスタマイズします。
- 導入:
- 3.1.4
- 作成者:
- Mark Pollack, Dave Syer, Juergen Hoeller, Stephane Nicoll
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected ObjectSEconvertFromBytesMessage(BytesMessageEE message, JavaType targetJavaType) BytesMessage を、指定された型の Java オブジェクトに変換します。protected ObjectSEconvertFromMessage(MessageEE message, JavaType targetJavaType) カスタムメッセージマッピングを可能にするテンプレートメソッド。protected ObjectSEconvertFromTextMessage(TextMessageEE message, JavaType targetJavaType) TextMessage を、指定された型の Java オブジェクトに変換します。fromMessage(MessageEE message) JMS メッセージから Java オブジェクトに変換します。protected JavaTypegetJavaTypeForMessage(MessageEE message) 指定された JMS メッセージの Jackson JavaType を決定します。通常は、型 ID メッセージプロパティを解析します。protected ClassSE<?>getSerializationView(ObjectSE conversionHint) 指定された変換ヒントに基づいて、Jackson 直列化ビューを決定します。protected BytesMessageEEmapToBytesMessage(ObjectSE object, SessionEE session, ObjectWriter objectWriter) 指定されたオブジェクトをBytesMessageEE にマッピングします。protected MessageEEmapToMessage(ObjectSE object, SessionEE session, ObjectWriter objectWriter, MessageType targetType) カスタムメッセージマッピングを可能にするテンプレートメソッド。protected TextMessageEEmapToTextMessage(ObjectSE object, SessionEE session, ObjectWriter objectWriter) 指定されたオブジェクトをTextMessageEE にマッピングします。voidsetBeanClassLoader(ClassLoaderSE classLoader) Beanclass loaderSE を Bean インスタンスに提供するコールバック。voidsetEncoding(StringSE encoding) テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するエンコーディングを指定します。voidsetEncodingPropertyName(StringSE encodingPropertyName) バイトから文字列へのエンコーディングを運ぶ JMS メッセージプロパティの名前を指定し、変換プロセス中に BytesMessage が使用されます。voidsetObjectMapper(ObjectMapper objectMapper) デフォルトを使用する代わりに、使用するObjectMapperを指定します。voidsetTargetType(MessageType targetType) voidsetTypeIdMappings(MapSE<StringSE, ClassSE<?>> typeIdMappings) 必要に応じて、型 ID から Java クラスへのマッピングを指定します。protected voidsetTypeIdOnMessage(ObjectSE object, MessageEE message) 指定された JMS メッセージの指定されたペイロードオブジェクトの型 ID を設定します。voidsetTypeIdPropertyName(StringSE typeIdPropertyName) 含まれるオブジェクトの型 ID を保持する JMS メッセージプロパティの名前(マップされた ID 値または生の Java クラス名)を指定します。提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。protected MessageEEtoMessage(ObjectSE object, SessionEE session, ObjectWriter objectWriter) 指定された json ビューと提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。引数として追加の変換コンテキストをとるMessageConverter.toMessage(Object, Session)のバリアント。
フィールドの詳細
DEFAULT_ENCODING
テキストメッセージへの書き込みに使用されるデフォルトのエンコーディング: UTF-8。- 関連事項:
コンストラクターの詳細
MappingJackson2MessageConverter
public MappingJackson2MessageConverter()
メソッドの詳細
setObjectMapper
デフォルトを使用する代わりに、使用するObjectMapperを指定します。setTargetType
toMessage(Object, Session)がBytesMessageEE またはTextMessageEE にマーシャリングするかどうかを指定します。デフォルトは
MessageType.BYTESです。つまり、このコンバーターはBytesMessageEE にマーシャリングします。このコンバーターのデフォルトバージョンはMessageType.BYTESおよびMessageType.TEXTのみをサポートすることに注意してください。setEncoding
テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するエンコーディングを指定します。デフォルトのエンコーディングは "UTF-8" です。テキストベースのメッセージから読み取る場合、特別な JMS プロパティを通じてエンコーディングが提案されている可能性があり、この MessageConverter インスタンスに設定されたエンコーディングよりも優先されます。
setEncodingPropertyName
バイトから文字列へのエンコーディングを運ぶ JMS メッセージプロパティの名前を指定し、変換プロセス中に BytesMessage が使用されます。デフォルトはなしです。このプロパティの設定はオプションです。設定されていない場合、受信バイトメッセージのデコードには UTF-8 が使用されます。
setTypeIdPropertyName
含まれるオブジェクトの型 ID を保持する JMS メッセージプロパティの名前(マップされた ID 値または生の Java クラス名)を指定します。デフォルトはなしです。 注: 受信メッセージから Java オブジェクトへの変換を可能にするには、このプロパティを設定する必要があります。
setTypeIdMappings
必要に応じて、型 ID から Java クラスへのマッピングを指定します。これにより、Java クラス名を転送する代わりに、型 ID メッセージプロパティで合成 ID を使用できます。デフォルトは、カスタムマッピングなし、つまり生の Java クラス名を転送します。
- パラメーター:
typeIdMappings- 型 ID 値をキーとして、Java クラスを値として持つ Map
setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAwareBeanclass loaderSE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean'sInitializingBean.afterPropertiesSet()メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAwareのsetBeanClassLoader - パラメーター:
classLoader- 所有クラスローダー
toMessage
public MessageEE toMessage(ObjectSE object, SessionEE session) throws JMSExceptionEE, MessageConversionException インターフェースからコピーされた説明: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 インターフェースからコピーされた説明:SmartMessageConverter引数として追加の変換コンテキストをとるMessageConverter.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 指定された json ビューと提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。- パラメーター:
object- 変換するオブジェクトsession- JMS メッセージの作成に使用するセッションjsonView- コンテンツのフィルタリングに使用するビュー- 戻り値:
- JMS メッセージ
- 例外:
JMSExceptionEE- JMS API メソッドによってスローされた場合MessageConversionException- 変換に失敗した場合- 導入:
- 4.3
fromMessage
インターフェースからコピーされた説明:MessageConverterJMS メッセージから Java オブジェクトに変換します。- 次で指定:
- インターフェース
MessageConverterのfromMessage - パラメーター:
message- 変換するメッセージ- 戻り値:
- 変換された Java オブジェクト
- 例外:
JMSExceptionEE- JMS API メソッドによってスローされた場合MessageConversionException- 変換に失敗した場合
toMessage
protected MessageEE toMessage(ObjectSE object, SessionEE session, ObjectWriter objectWriter) throws JMSExceptionEE, MessageConversionException mapToTextMessage
protected TextMessageEE mapToTextMessage(ObjectSE object, SessionEE session, ObjectWriter objectWriter) throws JMSExceptionEE, IOExceptionSE 指定されたオブジェクトをTextMessageEE にマッピングします。- パラメーター:
object- マッピングされるオブジェクトsession- 現在の JMS セッションobjectWriter- 使用するライター- 戻り値:
- 結果のメッセージ
- 例外:
JMSExceptionEE- JMS メソッドによってスローされた場合IOExceptionSE- I/O エラーの場合- 導入:
- 4.3
- 関連事項:
mapToBytesMessage
protected BytesMessageEE mapToBytesMessage(ObjectSE object, SessionEE session, ObjectWriter objectWriter) throws JMSExceptionEE, IOExceptionSE 指定されたオブジェクトをBytesMessageEE にマッピングします。- パラメーター:
object- マッピングされるオブジェクトsession- 現在の JMS セッションobjectWriter- 使用するライター- 戻り値:
- 結果のメッセージ
- 例外:
JMSExceptionEE- JMS メソッドによってスローされた場合IOExceptionSE- I/O エラーの場合- 導入:
- 4.3
- 関連事項:
mapToMessage
protected MessageEE mapToMessage(ObjectSE object, SessionEE session, ObjectWriter objectWriter, MessageType targetType) throws JMSExceptionEE, IOExceptionSE カスタムメッセージマッピングを可能にするテンプレートメソッド。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
指定された JMS メッセージの指定されたペイロードオブジェクトの型 ID を設定します。デフォルトの実装は、設定された型 ID マッピングを調べて、結果の値(マッピングされた ID または生の Java クラス名)を設定された型 ID メッセージプロパティに設定します。
- パラメーター:
object- 型 ID を設定するペイロードオブジェクトmessage- 型 ID プロパティを設定する JMS メッセージ- 例外:
JMSExceptionEE- JMS メソッドによってスローされた場合- 関連事項:
convertFromTextMessage
protected ObjectSE convertFromTextMessage(TextMessageEE message, JavaType targetJavaType) throws JMSExceptionEE, IOExceptionSE TextMessage を、指定された型の Java オブジェクトに変換します。- パラメーター:
message- 入力メッセージtargetJavaType- ターゲット型- 戻り値:
- オブジェクトに変換されたメッセージ
- 例外:
JMSExceptionEE- JMS によってスローされた場合IOExceptionSE- I/O エラーの場合
convertFromBytesMessage
protected ObjectSE convertFromBytesMessage(BytesMessageEE message, JavaType targetJavaType) throws JMSExceptionEE, IOExceptionSE BytesMessage を、指定された型の Java オブジェクトに変換します。- パラメーター:
message- 入力メッセージtargetJavaType- ターゲット型- 戻り値:
- オブジェクトに変換されたメッセージ
- 例外:
JMSExceptionEE- JMS によってスローされた場合IOExceptionSE- I/O エラーの場合
convertFromMessage
protected ObjectSE convertFromMessage(MessageEE message, JavaType targetJavaType) throws JMSExceptionEE, IOExceptionSE カスタムメッセージマッピングを可能にするテンプレートメソッド。setTargetType(org.springframework.jms.support.converter.MessageType)がMessageType.TEXTまたはMessageType.BYTESでない場合に呼び出されます。デフォルトの実装は
IllegalArgumentExceptionSE をスローします。- パラメーター:
message- 入力メッセージtargetJavaType- ターゲット型- 戻り値:
- オブジェクトに変換されたメッセージ
- 例外:
JMSExceptionEE- JMS によってスローされた場合IOExceptionSE- I/O エラーの場合
getJavaTypeForMessage
指定された JMS メッセージの Jackson JavaType を決定します。通常は、型 ID メッセージプロパティを解析します。デフォルトの実装は、設定された型 ID プロパティ名を解析し、設定された型 ID マッピングを調べます。これは別の戦略でオーバーライドできます。メッセージの発信元に基づいたヒューリスティックを実行します。
- パラメーター:
message- 型 ID プロパティを取得する JMS メッセージ- 例外:
JMSExceptionEE- JMS メソッドによってスローされた場合- 関連事項:
getSerializationView
指定された変換ヒントに基づいて、Jackson 直列化ビューを決定します。- パラメーター:
conversionHint- 現在の変換の試行のためにコンバーターに渡される変換ヒントオブジェクト- 戻り値:
- 直列化ビュークラス、または存在しない場合は
null