クラス JacksonJsonMessageConverter
- 実装されているすべてのインターフェース:
Aware, BeanClassLoaderAware, MessageConverter, SmartMessageConverter
オブジェクトを BytesMessage にマッピングします。targetType が MessageType.TEXT に設定されている場合は、TextMessage にマッピングします。TextMessage または BytesMessage をオブジェクトに変換します。
- 導入:
- 7.0
- 作成者:
- Sebastien Deleuze
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターコンストラクター説明MapperBuilder.findModules(ClassLoader)によって検出されたJacksonModuleでカスタマイズされたJsonMapperを使用して新しいインスタンスを構築します。JacksonJsonMessageConverter(tools.jackson.databind.json.JsonMapper mapper) 提供されたJsonMapperを使用して新しいインスタンスを構築します。JacksonJsonMessageConverter(tools.jackson.databind.json.JsonMapper.Builder builder) 提供されたJsonMapper.BuilderをMapperBuilder.findModules(ClassLoader)によって検出されたJacksonModuleでカスタマイズして、新しいインスタンスを構築します。メソッドのサマリー
修飾子と型メソッド説明protected ObjectSEconvertFromBytesMessage(jakarta.jms.BytesMessage message, tools.jackson.databind.JavaType targetJavaType) BytesMessage を、指定された型の Java オブジェクトに変換します。protected ObjectSEconvertFromMessage(jakarta.jms.Message message, tools.jackson.databind.JavaType targetJavaType) カスタムメッセージマッピングを可能にするテンプレートメソッド。protected ObjectSEconvertFromTextMessage(jakarta.jms.TextMessage message, tools.jackson.databind.JavaType targetJavaType) TextMessage を、指定された型の Java オブジェクトに変換します。fromMessage(jakarta.jms.Message message) JMS メッセージから Java オブジェクトに変換します。protected tools.jackson.databind.JavaTypegetJavaTypeForMessage(jakarta.jms.Message message) 指定された JMS メッセージの Jackson JavaType を決定します。通常は、型 ID メッセージプロパティを解析します。getSerializationView(@Nullable ObjectSE conversionHint) 指定された変換ヒントに基づいて、Jackson 直列化ビューを決定します。protected jakarta.jms.BytesMessagemapToBytesMessage(ObjectSE object, jakarta.jms.Session session, tools.jackson.databind.ObjectWriter objectWriter) 指定されたオブジェクトをBytesMessageにマップします。protected jakarta.jms.MessagemapToMessage(ObjectSE object, jakarta.jms.Session session, tools.jackson.databind.ObjectWriter objectWriter, MessageType targetType) カスタムメッセージマッピングを可能にするテンプレートメソッド。protected jakarta.jms.TextMessagemapToTextMessage(ObjectSE object, jakarta.jms.Session session, tools.jackson.databind.ObjectWriter objectWriter) 指定されたオブジェクトをTextMessageにマップします。voidsetBeanClassLoader(ClassLoaderSE classLoader) Beanclass loaderSE を Bean インスタンスに提供するコールバック。voidsetEncoding(StringSE encoding) テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するエンコーディングを指定します。voidsetEncodingPropertyName(StringSE encodingPropertyName) バイトから文字列へのエンコーディングを運ぶ JMS メッセージプロパティの名前を指定し、変換プロセス中に BytesMessage が使用されます。voidsetTargetType(MessageType targetType) voidsetTypeIdMappings(MapSE<StringSE, ClassSE<?>> typeIdMappings) 必要に応じて、型 ID から Java クラスへのマッピングを指定します。protected voidsetTypeIdOnMessage(ObjectSE object, jakarta.jms.Message message) 指定された JMS メッセージの指定されたペイロードオブジェクトの型 ID を設定します。voidsetTypeIdPropertyName(StringSE typeIdPropertyName) 含まれるオブジェクトの型 ID を保持する JMS メッセージプロパティの名前(マップされた ID 値または生の Java クラス名)を指定します。jakarta.jms.Message提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。jakarta.jms.Message指定された json ビューと提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。jakarta.jms.MessageMessageConverter.toMessage(Object, Session)のバリアントで、追加の変換コンテキストを引数として受け取り、たとえばペイロードパラメーターのアノテーションを考慮に入れることができます。protected jakarta.jms.Message
フィールドの詳細
DEFAULT_ENCODING
コンストラクターの詳細
JacksonJsonMessageConverter
public JacksonJsonMessageConverter()MapperBuilder.findModules(ClassLoader)によって検出されたJacksonModuleでカスタマイズされたJsonMapperを使用して新しいインスタンスを構築します。JacksonJsonMessageConverter
public JacksonJsonMessageConverter(tools.jackson.databind.json.JsonMapper.Builder builder) 提供されたJsonMapper.BuilderをMapperBuilder.findModules(ClassLoader)によって検出されたJacksonModuleでカスタマイズして、新しいインスタンスを構築します。- 関連事項:
JacksonJsonMessageConverter
public JacksonJsonMessageConverter(tools.jackson.databind.json.JsonMapper mapper) 提供されたJsonMapperを使用して新しいインスタンスを構築します。- 関連事項:
メソッドの詳細
setTargetType
toMessage(Object, Session)をBytesMessageまたはTextMessageにマーシャリングするかどうかを指定します。デフォルトは
MessageType.BYTESです。つまり、このコンバーターはBytesMessageに変換されます。このコンバーターのデフォルトバージョンは、MessageType.BYTESとMessageType.TEXTのみをサポートすることに注意してください。- 関連事項:
setEncoding
テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するエンコーディングを指定します。デフォルトのエンコーディングは "UTF-8" です。テキストベースのメッセージから読み取る場合、特別な JMS プロパティを通じてエンコーディングが提案されている可能性があり、この MessageConverter インスタンスに設定されたエンコーディングよりも優先されます。
- 関連事項:
setEncodingPropertyName
バイトから文字列へのエンコーディングを運ぶ JMS メッセージプロパティの名前を指定し、変換プロセス中に BytesMessage が使用されます。デフォルトはなしです。このプロパティの設定はオプションです。設定されていない場合、受信バイトメッセージのデコードには UTF-8 が使用されます。
- 関連事項:
setTypeIdPropertyName
含まれるオブジェクトの型 ID を保持する JMS メッセージプロパティの名前(マップされた ID 値または生の Java クラス名)を指定します。デフォルトはなしです。 注: 受信メッセージから Java オブジェクトへの変換を可能にするには、このプロパティを設定する必要があります。
- 関連事項:
setTypeIdMappings
setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAwareBeanclass loaderSE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean'sInitializingBean.afterPropertiesSet()メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAwareのsetBeanClassLoader - パラメーター:
classLoader- 所有クラスローダー
toMessage
public jakarta.jms.Message toMessage(ObjectSE object, jakarta.jms.Session session) throws jakarta.jms.JMSException, MessageConversionException インターフェースからコピーされた説明:MessageConverter提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。- 次で指定:
- インターフェース
MessageConverterのtoMessage - パラメーター:
object- 変換するオブジェクトsession- JMS メッセージの作成に使用するセッション- 戻り値:
- JMS メッセージ
- 例外:
jakarta.jms.JMSException- JMS API メソッドによってスローされた場合MessageConversionException- 変換に失敗した場合
toMessage
public jakarta.jms.Message toMessage(ObjectSE object, jakarta.jms.Session session, @Nullable ObjectSE conversionHint) throws jakarta.jms.JMSException, MessageConversionException インターフェースからコピーされた説明:SmartMessageConverterMessageConverter.toMessage(Object, Session)のバリアントで、追加の変換コンテキストを引数として受け取り、たとえばペイロードパラメーターのアノテーションを考慮に入れることができます。- 次で指定:
- インターフェース
SmartMessageConverterのtoMessage - パラメーター:
object- 変換するオブジェクトsession- JMS メッセージの作成に使用するセッションconversionHint-MessageConverterに渡される追加オブジェクト(たとえば、関連するMethodParameter) (nullかもしれない)- 戻り値:
- JMS メッセージ
- 例外:
jakarta.jms.JMSException- JMS API メソッドによってスローされた場合MessageConversionException- 変換に失敗した場合- 関連事項:
toMessage
public jakarta.jms.Message toMessage(ObjectSE object, jakarta.jms.Session session, @Nullable ClassSE<?> jsonView) throws jakarta.jms.JMSException, MessageConversionException 指定された json ビューと提供されたセッションを使用して Java オブジェクトを JMS メッセージに変換し、メッセージオブジェクトを作成します。- パラメーター:
object- 変換するオブジェクトsession- JMS メッセージの作成に使用するセッションjsonView- コンテンツのフィルタリングに使用するビュー- 戻り値:
- JMS メッセージ
- 例外:
jakarta.jms.JMSException- JMS API メソッドによってスローされた場合MessageConversionException- 変換に失敗した場合
fromMessage
public ObjectSE fromMessage(jakarta.jms.Message message) throws jakarta.jms.JMSException, MessageConversionException インターフェースからコピーされた説明:MessageConverterJMS メッセージから Java オブジェクトに変換します。- 次で指定:
- インターフェース
MessageConverterのfromMessage - パラメーター:
message- 変換するメッセージ- 戻り値:
- 変換された Java オブジェクト
- 例外:
jakarta.jms.JMSException- JMS API メソッドによってスローされた場合MessageConversionException- 変換に失敗した場合
toMessage
protected jakarta.jms.Message toMessage(ObjectSE object, jakarta.jms.Session session, tools.jackson.databind.ObjectWriter objectWriter) throws jakarta.jms.JMSException, MessageConversionException - 例外:
jakarta.jms.JMSExceptionMessageConversionException
mapToTextMessage
protected jakarta.jms.TextMessage mapToTextMessage(ObjectSE object, jakarta.jms.Session session, tools.jackson.databind.ObjectWriter objectWriter) throws jakarta.jms.JMSException, IOExceptionSE 指定されたオブジェクトをTextMessageにマップします。- パラメーター:
object- マッピングされるオブジェクトsession- 現在の JMS セッションobjectWriter- 使用するライター- 戻り値:
- 結果のメッセージ
- 例外:
jakarta.jms.JMSException- JMS メソッドによってスローされた場合IOExceptionSE- I/O エラーの場合- 関連事項:
mapToBytesMessage
protected jakarta.jms.BytesMessage mapToBytesMessage(ObjectSE object, jakarta.jms.Session session, tools.jackson.databind.ObjectWriter objectWriter) throws jakarta.jms.JMSException, IOExceptionSE 指定されたオブジェクトをBytesMessageにマップします。- パラメーター:
object- マッピングされるオブジェクトsession- 現在の JMS セッションobjectWriter- 使用するライター- 戻り値:
- 結果のメッセージ
- 例外:
jakarta.jms.JMSException- JMS メソッドによってスローされた場合IOExceptionSE- I/O エラーの場合- 関連事項:
mapToMessage
protected jakarta.jms.Message mapToMessage(ObjectSE object, jakarta.jms.Session session, tools.jackson.databind.ObjectWriter objectWriter, MessageType targetType) throws jakarta.jms.JMSException, IOExceptionSE カスタムメッセージマッピングを可能にするテンプレートメソッド。setTargetType(MessageType)がMessageType.TEXTまたはMessageType.BYTESでない場合に呼び出されます。デフォルトの実装は
IllegalArgumentExceptionSE をスローします。- パラメーター:
object- マーシャリングするオブジェクトsession- JMS セッションobjectWriter- 使用するライターtargetType- ターゲットメッセージ型 (TEXT または BYTES 以外)- 戻り値:
- 結果のメッセージ
- 例外:
jakarta.jms.JMSException- JMS メソッドによってスローされた場合IOExceptionSE- I/O エラーの場合
setTypeIdOnMessage
protected void setTypeIdOnMessage(ObjectSE object, jakarta.jms.Message message) throws jakarta.jms.JMSException 指定された JMS メッセージの指定されたペイロードオブジェクトの型 ID を設定します。デフォルトの実装は、設定された型 ID マッピングを調べて、結果の値(マッピングされた ID または生の Java クラス名)を設定された型 ID メッセージプロパティに設定します。
- パラメーター:
object- 型 ID を設定するペイロードオブジェクトmessage- 型 ID プロパティを設定する JMS メッセージ- 例外:
jakarta.jms.JMSException- JMS メソッドによってスローされた場合- 関連事項:
convertFromTextMessage
protected ObjectSE convertFromTextMessage(jakarta.jms.TextMessage message, tools.jackson.databind.JavaType targetJavaType) throws jakarta.jms.JMSException, IOExceptionSE TextMessage を、指定された型の Java オブジェクトに変換します。- パラメーター:
message- 入力メッセージtargetJavaType- ターゲット型- 戻り値:
- オブジェクトに変換されたメッセージ
- 例外:
jakarta.jms.JMSException- JMS によってスローされた場合IOExceptionSE- I/O エラーの場合
convertFromBytesMessage
protected ObjectSE convertFromBytesMessage(jakarta.jms.BytesMessage message, tools.jackson.databind.JavaType targetJavaType) throws jakarta.jms.JMSException, IOExceptionSE BytesMessage を、指定された型の Java オブジェクトに変換します。- パラメーター:
message- 入力メッセージtargetJavaType- ターゲット型- 戻り値:
- オブジェクトに変換されたメッセージ
- 例外:
jakarta.jms.JMSException- JMS によってスローされた場合IOExceptionSE- I/O エラーの場合
convertFromMessage
protected ObjectSE convertFromMessage(jakarta.jms.Message message, tools.jackson.databind.JavaType targetJavaType) throws jakarta.jms.JMSException, IOExceptionSE カスタムメッセージマッピングを可能にするテンプレートメソッド。setTargetType(MessageType)がMessageType.TEXTまたはMessageType.BYTESでない場合に呼び出されます。デフォルトの実装は
IllegalArgumentExceptionSE をスローします。- パラメーター:
message- 入力メッセージtargetJavaType- ターゲット型- 戻り値:
- オブジェクトに変換されたメッセージ
- 例外:
jakarta.jms.JMSException- JMS によってスローされた場合IOExceptionSE- I/O エラーの場合
getJavaTypeForMessage
protected tools.jackson.databind.JavaType getJavaTypeForMessage(jakarta.jms.Message message) throws jakarta.jms.JMSException 指定された JMS メッセージの Jackson JavaType を決定します。通常は、型 ID メッセージプロパティを解析します。デフォルトの実装では、構成された型 ID プロパティ名を解析し、構成された型 ID マッピングを参照します。これは、たとえばメッセージの送信元に基づいてヒューリスティックを実行するなど、別の戦略で上書きできます。
- パラメーター:
message- 型 ID プロパティを取得する JMS メッセージ- 例外:
jakarta.jms.JMSException- JMS メソッドによってスローされた場合- 関連事項:
getSerializationView