クラス AbstractJackson2MessageConverter
java.lang.ObjectSE
org.springframework.amqp.support.converter.AbstractMessageConverter
org.springframework.amqp.support.converter.AbstractJackson2MessageConverter
- 実装されているすべてのインターフェース:
MessageConverter、SmartMessageConverter、Aware、BeanClassLoaderAware
public abstract class AbstractJackson2MessageConverter
extends AbstractMessageConverter
implements BeanClassLoaderAware, SmartMessageConverter
抽象的な Jackson2 メッセージコンバーター。
- 導入:
- 2.1
- 作成者:
- Mark Pollack, James Carr, Dave Syer, Sam Nelson, Andreas Asplund, Artem Bilan, Mohammad Hewedy, Gary Russell
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクター修飾子コンストラクター説明protectedAbstractJackson2MessageConverter(com.fasterxml.jackson.databind.ObjectMapper objectMapper, MimeType contentType, StringSE... trustedPackages) 提供されたObjectMapperインスタンスで構築します。メソッドのサマリー
修飾子と型メソッド説明protected MessagecreateMessage(ObjectSE objectToConvert, MessageProperties messageProperties) 指定されたペイロードオブジェクトとメッセージプロパティからメッセージを作成します。protected MessagecreateMessage(ObjectSE objectToConvert, MessageProperties messageProperties, TypeSE genericType) 指定されたペイロードオブジェクトとメッセージプロパティからメッセージを作成します。fromMessage(Message message) Message から Java オブジェクトに変換します。fromMessage(Message message, ObjectSE conversionHint) 追加の変換コンテキストを引数として取るMessageConverter.fromMessage(Message)のバリアント。protected ClassLoaderSEprotected MimeTypeサポートされているコンテンツ型を取得します。デコード時にサブ型のみがチェックされます。型の優先順位を返します。boolean明示的な java 型 マッパーが提供されているかどうか。protected booleanvoidsetAlwaysConvertToInferredType(boolean alwaysAttemptConversion) false (デフォルト) の場合、型 (またはコンテナー型の内容) が抽象の場合、型 ID ヘッダーにフォールバックします。voidsetAssumeSupportedContentType(boolean assumeSupportedContentType) デフォルトでは、contentType プロパティが存在しないか、デフォルト ('application/octet-stream') に設定されている場合に、サポートされているコンテンツ型が想定されます。voidsetBeanClassLoader(ClassLoaderSE classLoader) voidsetClassMapper(ClassMapper classMapper) voidsetDefaultCharset(StringSE defaultCharset) テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するデフォルトの文字セットを指定します。voidsetJavaTypeMapper(Jackson2JavaTypeMapper javaTypeMapper) voidsetNullAsOptionalEmpty(boolean nullAsOptionalEmpty) true の場合、jackson がボディをnullとしてデコードすると、元のボディを返す代わりにOptional.empty()に変換されます。voidsetSupportedContentType(MimeType supportedContentType) サポートされているコンテンツ型を設定します。デコード時にサブ型のみがチェックされます。voidsetTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence typePrecedence) メッセージプロパティで型情報を評価するための優先順位を設定します。voidsetUseProjectionForInterfaces(boolean useProjectionForInterfaces) 推論されたパラメーターの型がインターフェースの場合、Spring Data 射影を使用してオブジェクトを作成するには、true に設定します。クラス 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
objectMapper
protected final com.fasterxml.jackson.databind.ObjectMapper objectMapper
コンストラクターの詳細
AbstractJackson2MessageConverter
protected AbstractJackson2MessageConverter(com.fasterxml.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
- 導入:
- 2.4.3
setSupportedContentType
サポートされているコンテンツ型を設定します。デコード時にサブ型のみがチェックされます (例: */json、*/xml)。これに文字セットパラメーターが含まれている場合、エンコード時に contentType ヘッダーは設定されず、デコード時に生のバイトが Jackson に渡され、エンコードが動的に決定されます。それ以外の場合は、contentEncoding またはデフォルトの文字セットが使用されます。- パラメーター:
supportedContentType- supportedContentType を設定します。- 導入:
- 2.4.3
setNullAsOptionalEmpty
public void setNullAsOptionalEmpty(boolean nullAsOptionalEmpty) true の場合、jackson がボディをnullとしてデコードすると、元のボディを返す代わりにOptional.empty()に変換されます。デフォルトは false です。- パラメーター:
nullAsOptionalEmpty- 空を返す場合は true。- 導入:
- 2.4.7
getClassMapper
setClassMapper
setDefaultCharset
getDefaultCharset
setBeanClassLoader
- 次で指定:
- インターフェース
BeanClassLoaderAwareのsetBeanClassLoader
getClassLoader
getJavaTypeMapper
isTypeMapperSet
public boolean isTypeMapperSet()明示的な java 型 マッパーが提供されているかどうか。- 戻り値:
- デフォルトの型マッパーが使用されている場合は false。
- 導入:
- 2.2
- 関連事項:
setJavaTypeMapper
getTypePrecedence
setTypePrecedence
メッセージプロパティの型情報を評価する優先順位を設定します。メソッドレベルで@RabbitListenerを使用する場合、フレームワークはメソッドシグネチャーからペイロード変換のターゲット型を決定しようとします。その場合、この型はinferredArgumentTypeメッセージプロパティで提供されます。デフォルトでは、型が具体的 (抽象的でもなく、インターフェースでもない) の場合、これは、
__TypeId__で提供される型情報および送信者によって提供される関連ヘッダーの前に使用されます。__TypeId__および関連するヘッダーの使用を強制する場合 (実際の型がメソッド引数型のサブクラスである場合など)、優先順位をJackson2JavaTypeMapper.TypePrecedence.TYPE_IDに設定します。- パラメーター:
typePrecedence- 優先順位。- 関連事項:
setAlwaysConvertToInferredType
public void setAlwaysConvertToInferredType(boolean alwaysAttemptConversion) false (デフォルト) の場合、型 (またはコンテナー型の内容) が抽象の場合、型 ID ヘッダーにフォールバックします。ObjectMapperでカスタムデシリアライザーが構成されているため、常に変換を試行する必要がある場合は true に設定します。試行が失敗した場合は、ヘッダーにフォールバックします。- パラメーター:
alwaysAttemptConversion- 試みに真。- 導入:
- 2.2.8
isUseProjectionForInterfaces
protected boolean isUseProjectionForInterfaces()setUseProjectionForInterfaces
public void setUseProjectionForInterfaces(boolean useProjectionForInterfaces) 推論されたパラメーターの型がインターフェースの場合、Spring Data 射影を使用してオブジェクトを作成するには、true に設定します。- パラメーター:
useProjectionForInterfaces- 射影を使用する場合は true。- 導入:
- 2.2
setAssumeSupportedContentType
public void setAssumeSupportedContentType(boolean assumeSupportedContentType) デフォルトでは、contentType プロパティがないか、デフォルト ('application/octet-stream') に設定されている場合に、サポートされているコンテンツ型が想定されます。この条件が存在する場合に、変換されていない 'byte[]' を返す以前の動作に戻すには、'false' に設定します。- パラメーター:
assumeSupportedContentType- コンテンツ型がサポートされていると想定しない場合は、false に設定します。- 導入:
- 2.2
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- 変換に失敗した場合。- 関連事項:
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