クラス AbstractJacksonMessageConverter
java.lang.ObjectSE
org.springframework.amqp.support.converter.AbstractMessageConverter
org.springframework.amqp.support.converter.AbstractJacksonMessageConverter
- 実装されているすべてのインターフェース:
MessageConverter、SmartMessageConverter、Aware、BeanClassLoaderAware
public abstract class AbstractJacksonMessageConverter
extends AbstractMessageConverter
implements BeanClassLoaderAware, SmartMessageConverter
抽象的な Jackson 3 メッセージコンバーター。
- 導入:
- 4.0
- 作成者:
- Artem Bilan
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクター修飾子コンストラクター説明protectedAbstractJacksonMessageConverter(tools.jackson.databind.ObjectMapper objectMapper, MimeType contentType, StringSE... trustedPackages) 提供されたObjectMapperインスタンスで構築します。メソッドのサマリー
修飾子と型メソッド説明protected ObjectSEconvertContent(Message message, @Nullable ObjectSE conversionHint, MessageProperties properties, @Nullable StringSE encoding) protected MessagecreateMessage(ObjectSE objectToConvert, MessageProperties messageProperties) 指定されたペイロードオブジェクトとメッセージプロパティからメッセージを作成します。protected MessagecreateMessage(ObjectSE objectToConvert, MessageProperties messageProperties, @Nullable TypeSE genericType) 指定されたペイロードオブジェクトとメッセージプロパティからメッセージを作成します。protected ObjectSEdoFromMessage(Message message, @Nullable ObjectSE conversionHint, MessageProperties properties, @Nullable StringSE encoding) fromMessage(Message message) Message から Java オブジェクトに変換します。fromMessage(Message message, @Nullable ObjectSE conversionHint) 追加の変換コンテキストを引数として取るMessageConverter.fromMessage(Message)のバリアント。protected @Nullable ClassLoaderSE@Nullable ClassMapperprotected MimeTypeサポートされているコンテンツ型を取得します。デコード時にサブ型のみがチェックされます。型の優先順位を返します。boolean明示的な java 型マッパーが提供されているかどうか。voidsetAlwaysConvertToInferredType(boolean alwaysAttemptConversion) false (デフォルト) の場合、型 (またはコンテナー型の内容) が抽象の場合、型 ID ヘッダーにフォールバックします。voidsetAssumeSupportedContentType(boolean assumeSupportedContentType) デフォルトでは、contentType プロパティが存在しない、またはデフォルト ('application/octet-stream') に設定されている場合は、サポートされているコンテンツ型が想定されます。voidsetBeanClassLoader(ClassLoaderSE classLoader) voidsetClassMapper(ClassMapper classMapper) voidsetDefaultCharset(@Nullable StringSE defaultCharset) テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するデフォルトの文字セットを指定します。voidsetJavaTypeMapper(JacksonJavaTypeMapper javaTypeMapper) voidsetNullAsOptionalEmpty(boolean nullAsOptionalEmpty) true の場合、jackson がボディをnullとしてデコードすると、元のボディを返す代わりにOptional.empty()に変換されます。voidsetSupportedContentType(MimeType supportedContentType) サポートされているコンテンツ型を設定します。デコード時にサブ型のみがチェックされます。voidsetTypePrecedence(JacksonJavaTypeMapper.TypePrecedence typePrecedence) メッセージプロパティで型情報を評価するための優先順位を設定します。クラス org.springframework.amqp.support.converter.AbstractMessageConverter から継承されたメソッド
isCreateMessageIds, setCreateMessageIds, toMessage, toMessageクラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.amqp.support.converter.MessageConverter から継承されたメソッド
toMessage, toMessage
フィールドの詳細
DEFAULT_CHARSET
log
protected final org.apache.commons.logging.Log logobjectMapper
protected final tools.jackson.databind.ObjectMapper objectMapper
コンストラクターの詳細
AbstractJacksonMessageConverter
protected AbstractJacksonMessageConverter(tools.jackson.databind.ObjectMapper objectMapper, MimeType contentType, StringSE... trustedPackages) 提供されたObjectMapperインスタンスで構築します。- パラメーター:
objectMapper- 使用するObjectMapper。contentType- サポートされているコンテンツ型。デコード時にサブ型のみがチェックされます (例: */json、*/xml)。これに文字セットパラメーターが含まれている場合、エンコード時に contentType ヘッダーは設定されず、デコード時に生のバイトが Jackson に渡され、エンコードが動的に決定されます。それ以外の場合は、contentEncoding または既定の文字セットが使用されます。trustedPackages- デシリアライズ用の信頼できる Java パッケージ- 関連事項:
メソッドの詳細
getSupportedContentType
サポートされているコンテンツ型を取得します。デコード時にサブ型のみがチェックされます (例: */json、*/xml)。これに文字セットパラメーターが含まれている場合、エンコード時に contentType ヘッダーは設定されず、デコード時に生のバイトが Jackson に渡され、エンコードが動的に決定されます。それ以外の場合は、contentEncoding またはデフォルトの文字セットが使用されます。- 戻り値:
- supportedContentType
setSupportedContentType
サポートされているコンテンツ型を設定します。デコード時にサブ型のみがチェックされます (例: */json、*/xml)。これに文字セットパラメーターが含まれている場合、エンコード時に contentType ヘッダーは設定されず、デコード時に生のバイトが Jackson に渡され、エンコードが動的に決定されます。それ以外の場合は、contentEncoding またはデフォルトの文字セットが使用されます。- パラメーター:
supportedContentType- supportedContentType を設定します。
setNullAsOptionalEmpty
public void setNullAsOptionalEmpty(boolean nullAsOptionalEmpty) true の場合、jackson がボディをnullとしてデコードすると、元のボディを返す代わりにOptional.empty()に変換されます。デフォルトは false です。- パラメーター:
nullAsOptionalEmpty- 空を返す場合は true。
getClassMapper
setClassMapper
setDefaultCharset
テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するデフォルトの文字セットを指定します。指定しない場合、文字セットは "UTF-8" になります。- パラメーター:
defaultCharset- デフォルトの文字セット。
getDefaultCharset
setBeanClassLoader
- 次で指定:
- インターフェース
BeanClassLoaderAwareのsetBeanClassLoader
getClassLoader
getJavaTypeMapper
isTypeMapperSet
public boolean isTypeMapperSet()明示的な java 型マッパーが提供されているかどうか。- 戻り値:
- デフォルトの型マッパーが使用されている場合は false。
- 関連事項:
setJavaTypeMapper
getTypePrecedence
setTypePrecedence
メッセージプロパティの型情報を評価する優先順位を設定します。メソッドレベルで@RabbitListenerを使用する場合、フレームワークはメソッドシグネチャーからペイロード変換のターゲット型を決定しようとします。その場合、この型はinferredArgumentTypeメッセージプロパティで提供されます。デフォルトでは、型が具体的 (抽象的でもなく、インターフェースでもない) の場合、これは、
__TypeId__で提供される型情報および送信者によって提供される関連ヘッダーの前に使用されます。__TypeId__および関連するヘッダーの使用を強制する場合 (実際の型がメソッド引数型のサブクラスである場合など)、優先順位をJacksonJavaTypeMapper.TypePrecedence.TYPE_IDに設定します。- パラメーター:
typePrecedence- 優先順位。- 関連事項:
setAlwaysConvertToInferredType
public void setAlwaysConvertToInferredType(boolean alwaysAttemptConversion) false (デフォルト) の場合、型 (またはコンテナー型の内容) が抽象の場合、型 ID ヘッダーにフォールバックします。ObjectMapperでカスタムデシリアライザーが構成されているため、常に変換を試行する必要がある場合は true に設定します。試行が失敗した場合は、ヘッダーにフォールバックします。- パラメーター:
alwaysAttemptConversion- 試みに真。
setAssumeSupportedContentType
public void setAssumeSupportedContentType(boolean assumeSupportedContentType) デフォルトでは、contentType プロパティが存在しない場合、またはデフォルト('application/octet-stream')に設定されている場合は、サポートされているコンテンツ型が想定されます。この条件が存在する場合、変換されていない 'byte[]' を返す以前の動作に戻すには、'false' に設定します。- パラメーター:
assumeSupportedContentType- コンテンツ型がサポートされていると想定しない場合は、false に設定します。
fromMessage
インターフェースからコピーされた説明:MessageConverterMessage から Java オブジェクトに変換します。- 次で指定:
- インターフェース
MessageConverterのfromMessage - パラメーター:
message- 変換するメッセージ- 戻り値:
- 変換された Java オブジェクト
- 例外:
MessageConversionException- 変換に失敗した場合
fromMessage
public ObjectSE fromMessage(Message message, @Nullable ObjectSE conversionHint) throws MessageConversionException 追加の変換コンテキストを引数として取るMessageConverter.fromMessage(Message)のバリアント。- 次で指定:
- インターフェース
SmartMessageConverterのfromMessage - パラメーター:
message- 入力メッセージ。conversionHint- conversionHint はParameterizedTypeReferenceである必要があります。- 戻り値:
- 変換の結果、またはコンバーターが変換を実行できない場合は
null。 - 例外:
MessageConversionException- 変換に失敗した場合。- 関連事項:
doFromMessage
protected ObjectSE doFromMessage(Message message, @Nullable ObjectSE conversionHint, MessageProperties properties, @Nullable StringSE encoding) convertContent
protected ObjectSE convertContent(Message message, @Nullable ObjectSE conversionHint, MessageProperties properties, @Nullable StringSE encoding) throws IOExceptionSE createMessage
protected Message createMessage(ObjectSE objectToConvert, MessageProperties messageProperties) throws MessageConversionException クラスからコピーされた説明:AbstractMessageConverter指定されたペイロードオブジェクトとメッセージプロパティからメッセージを作成します。メッセージ ID は、後で必要に応じてプロパティに追加されます。- 次で指定:
- クラス
AbstractMessageConverterのcreateMessage - パラメーター:
objectToConvert- ペイロード。messageProperties- メッセージのプロパティ (ヘッダー)。- 戻り値:
- メッセージ。
- 例外:
MessageConversionException
createMessage
protected Message createMessage(ObjectSE objectToConvert, MessageProperties messageProperties, @Nullable TypeSE genericType) throws MessageConversionException クラスからコピーされた説明:AbstractMessageConverter指定されたペイロードオブジェクトとメッセージプロパティからメッセージを作成します。メッセージ ID は、後で必要に応じてプロパティに追加されます。- オーバーライド:
- クラス
AbstractMessageConverterのcreateMessage - パラメーター:
objectToConvert- ペイロードmessageProperties- メッセージのプロパティ (headers)genericType- 変換元の型 - 型 ヘッダーの入力に使用されます。- 戻り値:
- メッセージ
- 例外:
MessageConversionException