クラス 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 CharsetSE
DEFAULT_CHARSET
String
SE とbyte[]
の間の変換に使用される文字セット。protected Log
log
protected com.fasterxml.jackson.databind.ObjectMapper
objectMapper
コンストラクターのサマリー
コンストラクター 修飾子 コンストラクター 説明 protected
AbstractJackson2MessageConverter(com.fasterxml.jackson.databind.ObjectMapper objectMapper, MimeType contentType, StringSE... trustedPackages)
提供されたObjectMapper
インスタンスで構築します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 protected Message
createMessage(ObjectSE objectToConvert, MessageProperties messageProperties)
指定されたペイロードオブジェクトとメッセージプロパティからメッセージを作成します。protected Message
createMessage(ObjectSE objectToConvert, MessageProperties messageProperties, TypeSE genericType)
指定されたペイロードオブジェクトとメッセージプロパティからメッセージを作成します。ObjectSE
fromMessage(Message message)
Message から Java オブジェクトに変換します。ObjectSE
fromMessage(Message message, ObjectSE conversionHint)
追加の変換コンテキストを引数として取るMessageConverter.fromMessage(Message)
のバリアント。protected ClassLoaderSE
getClassLoader()
ClassMapper
getClassMapper()
StringSE
getDefaultCharset()
Jackson2JavaTypeMapper
getJavaTypeMapper()
Jackson2JavaTypeMapper.TypePrecedence
getTypePrecedence()
型の優先順位を返します。boolean
isTypeMapperSet()
明示的な java 型 マッパーが提供されているかどうか。protected boolean
isUseProjectionForInterfaces()
void
setAlwaysConvertToInferredType(boolean alwaysAttemptConversion)
false (デフォルト) の場合、型 (またはコンテナー型の内容) が抽象の場合、型 ID ヘッダーにフォールバックします。void
setAssumeSupportedContentType(boolean assumeSupportedContentType)
デフォルトでは、contentType プロパティがない場合、またはデフォルト ('application/octet-stream') に設定されている場合、サポートされているコンテンツ型が想定されます。void
setBeanClassLoader(ClassLoaderSE classLoader)
void
setClassMapper(ClassMapper classMapper)
void
setDefaultCharset(StringSE defaultCharset)
テキストベースのメッセージ本文コンテンツとの間で変換するときに使用するデフォルトの文字セットを指定します。void
setJavaTypeMapper(Jackson2JavaTypeMapper javaTypeMapper)
void
setTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence typePrecedence)
メッセージプロパティで型情報を評価するための優先順位を設定します。void
setUseProjectionForInterfaces(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
インターフェースからコピーされた説明:MessageConverter
Message から 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