クラス 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
フィールド概要
フィールド 修飾子と型 フィールド 説明 static CharsetSEDEFAULT_CHARSETStringSE とbyte[]の間の変換に使用される文字セット。protected Loglogprotected com.fasterxml.jackson.databind.ObjectMapperobjectMapper
コンストラクター概要
コンストラクター 修飾子 コンストラクター 説明 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)指定されたペイロードオブジェクトとメッセージプロパティからメッセージを作成します。ObjectSEfromMessage(Message message)Message から Java オブジェクトに変換します。ObjectSEfromMessage(Message message, ObjectSE conversionHint)追加の変換コンテキストを引数として取るMessageConverter.fromMessage(Message)のバリアント。protected ClassLoaderSEgetClassLoader()ClassMappergetClassMapper()StringSEgetDefaultCharset()Jackson2JavaTypeMappergetJavaTypeMapper()Jackson2JavaTypeMapper.TypePrecedencegetTypePrecedence()型の優先順位を返します。booleanisTypeMapperSet()明示的な java 型 マッパーが提供されているかどうか。protected booleanisUseProjectionForInterfaces()voidsetAlwaysConvertToInferredType(boolean alwaysAttemptConversion)false (デフォルト) の場合、型 (またはコンテナー型の内容) が抽象の場合、型 ID ヘッダーにフォールバックします。voidsetAssumeSupportedContentType(boolean assumeSupportedContentType)デフォルトでは、contentType プロパティが存在しないか、デフォルト ('application/octet-stream') に設定されている場合に、サポートされているコンテンツ型が想定されます。voidsetBeanClassLoader(ClassLoaderSE classLoader)voidsetClassMapper(ClassMapper classMapper)voidsetDefaultCharset(StringSE defaultCharset)テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するデフォルトの文字セットを指定します。voidsetJavaTypeMapper(Jackson2JavaTypeMapper javaTypeMapper)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
コンストラクターの詳細
AbstractJackson2MessageConverter
protected AbstractJackson2MessageConverter(com.fasterxml.jackson.databind.ObjectMapper objectMapper, MimeType contentType, StringSE... trustedPackages)提供されたObjectMapperインスタンスで構築します。- パラメーター:
objectMapper- 使用するObjectMapper。contentType- メッセージのデコード時にサポートされているコンテンツ型。サブ型のみがチェックされます。*/json, */xml.trustedPackages- デシリアライズ用の信頼できる Java パッケージ- 関連事項:
DefaultJackson2JavaTypeMapper.setTrustedPackages(String...)
メソッドの詳細
getClassMapper
@Nullable public ClassMapper getClassMapper()
setClassMapper
public void setClassMapper(ClassMapper classMapper)
setDefaultCharset
public void setDefaultCharset(@Nullable StringSE defaultCharset)
テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するデフォルトの文字セットを指定します。指定しない場合、文字セットは "UTF-8" になります。- パラメーター:
defaultCharset- デフォルトの文字セット。
getDefaultCharset
public StringSE getDefaultCharset()
setBeanClassLoader
public void setBeanClassLoader(ClassLoaderSE classLoader)
- 次で指定:
- インターフェース
BeanClassLoaderAware内のsetBeanClassLoader
getClassLoader
protected ClassLoaderSE getClassLoader()
getJavaTypeMapper
public Jackson2JavaTypeMapper getJavaTypeMapper()
isTypeMapperSet
public boolean isTypeMapperSet()
明示的な java 型 マッパーが提供されているかどうか。- 戻り値:
- デフォルトの型マッパーが使用されている場合は false。
- 導入:
- 2.2
- 関連事項:
setJavaTypeMapper(Jackson2JavaTypeMapper)
setJavaTypeMapper
public void setJavaTypeMapper(Jackson2JavaTypeMapper javaTypeMapper)
getTypePrecedence
public Jackson2JavaTypeMapper.TypePrecedence getTypePrecedence()
型の優先順位を返します。- 戻り値:
- 優先順位。
- 関連事項:
setTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence)
setTypePrecedence
public void setTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence typePrecedence)
メッセージプロパティの型情報を評価する優先順位を設定します。メソッドレベルで@RabbitListenerを使用する場合、フレームワークはメソッドシグネチャーからペイロード変換のターゲット型を決定しようとします。その場合、この型はinferredArgumentTypeメッセージプロパティで提供されます。デフォルトでは、型が具体的 (抽象的でもなく、インターフェースでもない) の場合、これは、
__TypeId__で提供される型情報および送信者によって提供される関連ヘッダーの前に使用されます。__TypeId__および関連するヘッダーの使用を強制する場合 (実際の型がメソッド引数型のサブクラスである場合など)、優先順位をJackson2JavaTypeMapper.TypePrecedence.TYPE_IDに設定します。- パラメーター:
typePrecedence- 優先順位。- 関連事項:
DefaultJackson2JavaTypeMapper.setTypePrecedence(Jackson2JavaTypeMapper.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
public ObjectSE fromMessage(Message message) throws MessageConversionException
インターフェースからコピーされた説明:MessageConverterMessage から Java オブジェクトに変換します。- 次で指定:
- インターフェース
MessageConverter内のfromMessage - パラメーター:
message- 変換するメッセージ- 戻り値:
- 変換された Java オブジェクト
- 例外:
MessageConversionException- 変換に失敗した場合
fromMessage
public ObjectSE fromMessage(Message message, @Nullable ObjectSE conversionHint) throws MessageConversionException
追加の変換コンテキストを引数として取るMessageConverter.fromMessage(Message)のバリアント。- 次で指定:
- インターフェース
SmartMessageConverter内のfromMessage - パラメーター:
conversionHint- conversionHint はParameterizedTypeReferenceである必要があります。message- 入力メッセージ。- 戻り値:
- 変換の結果、またはコンバーターが変換を実行できない場合は
null。 - 例外:
MessageConversionException- 変換に失敗した場合。- 関連事項:
MessageConverter.fromMessage(Message)
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