クラス JacksonJsonDeserializer<T>
java.lang.ObjectSE
org.springframework.kafka.support.serializer.JacksonJsonDeserializer<T>
- 型パラメーター:
T- メッセージを表すエンティティのクラス
- 実装されているすべてのインターフェース:
CloseableSE、AutoCloseableSE、org.apache.kafka.common.serialization.Deserializer<T>
public class JacksonJsonDeserializer<T>
extends ObjectSE
implements org.apache.kafka.common.serialization.Deserializer<T>
Kafka から JSON を受信し、Java オブジェクトを返すための汎用
Deserializer。Jackson 3 に基づいています。IMPORTANT: 構成は、プロパティ setter を使用して、または configure(Map, boolean) を介して完全に行う必要があり、混合ではありません。setter が呼び出された場合、configure(Map, boolean) はノーオペレーションになります。
- 導入:
- 4.0
- 作成者:
- Igor Stepanov, Artem Bilan, Gary Russell, Yanming Zhou, Elliot Kennedy, Torsten Schleede, Ivan Ponomarev, Omer Celik, Soby Chacko, Trond Ziarkowski
フィールドのサマリー
フィールド修飾子と型フィールド説明protected final tools.jackson.databind.json.JsonMapperstatic final StringSEヘッダーがない場合のデフォルトのキー型の Kafka 構成プロパティ。static final StringSEキーを逆直列化するJavaTypeを決定するメソッド名: 'com.Foo.deserialize'。static final StringSE型ヘッダーを削除するための Kafka 構成プロパティ(デフォルトは true)。protected @Nullable tools.jackson.databind.JavaTypestatic final StringSE信頼できる逆直列化パッケージの Kafka 構成プロパティ。static final StringSE型マッパーに型マッピングを追加するための Kafka 構成プロパティ: 'foo=com.Foo、bar = com.Bar'。protected JacksonJavaTypeMapperstatic final StringSE型ヘッダーを使用するための Kafka 構成プロパティ(デフォルトは true)。static final StringSEヘッダーがない場合のデフォルト値型の Kafka 構成プロパティ。static final StringSE値を逆直列化するJavaTypeを決定するためのメソッド名: 'com.Foo.deserialize'。コンストラクターの概要
コンストラクターコンストラクター説明デフォルトのJsonMapperを使用してインスタンスを作成します。JacksonJsonDeserializer(@Nullable ClassSE<? super T> targetType) 提供されたターゲット型とデフォルトのJsonMapperを使用してインスタンスを構築します。JacksonJsonDeserializer(@Nullable ClassSE<? super T> targetType, boolean useHeadersIfPresent) 指定されたターゲット型でインスタンスを構築し、デフォルトのJsonMapperで HeadersIfPresent を使用します。JacksonJsonDeserializer(@Nullable ClassSE<? super T> targetType, tools.jackson.databind.json.JsonMapper jsonMapper, boolean useHeadersIfPresent) 提供されたターゲット型JsonMapperおよび useHeadersIfPresent を使用してインスタンスを構築します。JacksonJsonDeserializer(ClassSE<? super T> targetType, tools.jackson.databind.json.JsonMapper jsonMapper) 指定されたターゲット型とJsonMapperを使用してインスタンスを構築します。JacksonJsonDeserializer(@Nullable tools.jackson.core.type.TypeReference<? super T> targetType) 提供されたターゲット型とデフォルトのJsonMapperを使用してインスタンスを構築します。JacksonJsonDeserializer(@Nullable tools.jackson.core.type.TypeReference<? super T> targetType, boolean useHeadersIfPresent) 指定されたターゲット型でインスタンスを構築し、デフォルトのJsonMapperで HeadersIfPresent を使用します。JacksonJsonDeserializer(@Nullable tools.jackson.core.type.TypeReference<? super T> targetType, tools.jackson.databind.json.JsonMapper jsonMapper, boolean useHeadersIfPresent) 提供されたターゲット型JsonMapperおよび useHeadersIfPresent を使用してインスタンスを構築します。JacksonJsonDeserializer(tools.jackson.core.type.TypeReference<? super T> targetType, tools.jackson.databind.json.JsonMapper jsonMapper) 指定されたターゲット型とJsonMapperを使用してインスタンスを構築します。JacksonJsonDeserializer(@Nullable tools.jackson.databind.JavaType targetType) 提供されたターゲット型とデフォルトのJsonMapperを使用してインスタンスを構築します。JacksonJsonDeserializer(@Nullable tools.jackson.databind.JavaType targetType, boolean useHeadersIfPresent) 指定されたターゲット型でインスタンスを構築し、デフォルトのJsonMapperで HeadersIfPresent を使用します。JacksonJsonDeserializer(@Nullable tools.jackson.databind.JavaType targetType, tools.jackson.databind.json.JsonMapper jsonMapper) 指定されたターゲット型とJsonMapperを使用してインスタンスを構築します。JacksonJsonDeserializer(@Nullable tools.jackson.databind.JavaType targetType, tools.jackson.databind.json.JsonMapper jsonMapper, boolean useHeadersIfPresent) 提供されたターゲット型JsonMapperおよび useHeadersIfPresent を使用してインスタンスを構築します。JacksonJsonDeserializer(tools.jackson.databind.json.JsonMapper jsonMapper) 提供されたJsonMapperを使用してインスタンスを構築します。メソッドのサマリー
修飾子と型メソッド説明voidaddTrustedPackages(StringSE... packages) デシリアライズ用の信頼できるパッケージを追加します。voidclose()void<X> JacksonJsonDeserializer<X> copyWithType(ClassSE<? super X> newTargetType) 新しいターゲット型が使用されることを除いて、同じ構成でこのデシリアライザーをコピーします。<X> JacksonJsonDeserializer<X> copyWithType(tools.jackson.core.type.TypeReference<? super X> newTargetType) 新しいターゲット型参照が使用されることを除いて、同じ構成でこのデシリアライザーをコピーします。<X> JacksonJsonDeserializer<X> copyWithType(tools.jackson.databind.JavaType newTargetType) 新しいターゲット java 型が使用されることを除いて、このデシリアライザーを同じ構成でコピーします。@Nullable Tdeserialize(StringSE topic, byte @Nullable[] data) @Nullable Tdeserialize(StringSE topic, org.apache.kafka.common.header.Headers headers, byte @Nullable[] data) 型情報ヘッダーを削除しないでください。forKeys()キーを逆直列化するためにこのデシリアライザーを指定します(デフォルトは値です)。デフォルトの型マッパーが使用されている場合にのみ適用されます。型情報ヘッダーを無視し、構成されたターゲットクラスを使用します。voidsetRemoveTypeHeaders(boolean removeTypeHeaders) 逆直列化後に型情報ヘッダーを保持するには、false に設定します。voidsetTypeFunction(BiFunctionSE<byte[], org.apache.kafka.common.header.Headers, tools.jackson.databind.JavaType> typeFunction) デシリアライズするデータとヘッダーを受け取り、JavaType を返すBiFunctionSE を設定します。voidsetTypeMapper(JacksonJavaTypeMapper typeMapper) カスタマイズされた型マッパーを設定します。voidsetTypeResolver(JacksonJsonTypeResolver typeResolver) デシリアライズするデータとヘッダーを受け取り、JavaType を返すJacksonJsonTypeResolverを設定します。voidsetUseTypeHeaders(boolean useTypeHeaders) false に設定すると、ヘッダーの型情報が無視され、代わりに構成済みのターゲット型が使用されます。voidsetUseTypeMapperForKey(boolean isKey) キー型ヘッダーを使用するようにデフォルトの JacksonJavaTypeMapper を構成します。trustedPackages(StringSE... packages) 信頼できるパッケージをデフォルトの型マッパーに追加します。typeFunction(BiFunctionSE<byte[], org.apache.kafka.common.header.Headers, tools.jackson.databind.JavaType> typeFunction) デシリアライズするデータとヘッダーを受け取り、JavaType を返すBiFunctionSE を設定します。typeMapper(JacksonJavaTypeMapper mapper) 付属のJacksonJavaTypeMapperを使用してください。typeResolver(JacksonJsonTypeResolver resolver) デシリアライズするデータとヘッダーを受け取り、JavaType を返すJsonTypeResolverを設定します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.apache.kafka.common.serialization.Deserializer から継承されたメソッド
deserialize
フィールドの詳細
KEY_DEFAULT_TYPE
VALUE_DEFAULT_TYPE
TRUSTED_PACKAGES
TYPE_MAPPINGS
型マッパーに型マッピングを追加するための Kafka 構成プロパティ: 'foo=com.Foo、bar = com.Bar'。- 関連事項:
REMOVE_TYPE_INFO_HEADERS
型ヘッダーを削除するための Kafka 構成プロパティ(デフォルトは true)。- 関連事項:
USE_TYPE_INFO_HEADERS
型ヘッダーを使用するための Kafka 構成プロパティ(デフォルトは true)。- 導入:
- 2.2.3
- 関連事項:
KEY_TYPE_METHOD
キーを逆直列化するJavaTypeを決定するメソッド名: 'com.Foo.deserialize'。署名については、JacksonJsonTypeResolver.resolveType(java.lang.String, byte[], org.apache.kafka.common.header.Headers)を参照してください。- 関連事項:
VALUE_TYPE_METHOD
値を逆直列化するJavaTypeを決定するためのメソッド名: 'com.Foo.deserialize'。署名については、JacksonJsonTypeResolver.resolveType(java.lang.String, byte[], org.apache.kafka.common.header.Headers)を参照してください。- 関連事項:
jsonMapper
protected final tools.jackson.databind.json.JsonMapper jsonMappertargetType
protected @Nullable tools.jackson.databind.JavaType targetTypetypeMapper
コンストラクターの詳細
JacksonJsonDeserializer
public JacksonJsonDeserializer()デフォルトのJsonMapperを使用してインスタンスを作成します。JacksonJsonDeserializer
public JacksonJsonDeserializer(tools.jackson.databind.json.JsonMapper jsonMapper) 提供されたJsonMapperを使用してインスタンスを構築します。- パラメーター:
jsonMapper- カスタムオブジェクトマッパー。
JacksonJsonDeserializer
JacksonJsonDeserializer
public JacksonJsonDeserializer(@Nullable tools.jackson.core.type.TypeReference<? super T> targetType) 提供されたターゲット型とデフォルトのJsonMapperを使用してインスタンスを構築します。- パラメーター:
targetType- 型情報ヘッダーが存在しない場合に使用するターゲット型参照。
JacksonJsonDeserializer
public JacksonJsonDeserializer(@Nullable tools.jackson.databind.JavaType targetType) 提供されたターゲット型とデフォルトのJsonMapperを使用してインスタンスを構築します。- パラメーター:
targetType- 型情報ヘッダーが存在しない場合に使用するターゲット java 型。
JacksonJsonDeserializer
JacksonJsonDeserializer
public JacksonJsonDeserializer(@Nullable tools.jackson.core.type.TypeReference<? super T> targetType, boolean useHeadersIfPresent) 指定されたターゲット型でインスタンスを構築し、デフォルトのJsonMapperで HeadersIfPresent を使用します。- パラメーター:
targetType- ターゲット型の参照。useHeadersIfPresent- true の場合はヘッダーを使用し、存在しない場合はターゲット型にフォールバックします。
JacksonJsonDeserializer
public JacksonJsonDeserializer(@Nullable tools.jackson.databind.JavaType targetType, boolean useHeadersIfPresent) 指定されたターゲット型でインスタンスを構築し、デフォルトのJsonMapperで HeadersIfPresent を使用します。- パラメーター:
targetType- ターゲット java 型。useHeadersIfPresent- true の場合はヘッダーを使用し、存在しない場合はターゲット型にフォールバックします。
JacksonJsonDeserializer
JacksonJsonDeserializer
public JacksonJsonDeserializer(tools.jackson.core.type.TypeReference<? super T> targetType, tools.jackson.databind.json.JsonMapper jsonMapper) 指定されたターゲット型とJsonMapperを使用してインスタンスを構築します。- パラメーター:
targetType- 型情報ヘッダーが存在しない場合に使用するターゲット型参照。jsonMapper- マッパー。そうでない場合は入力します。
JacksonJsonDeserializer
public JacksonJsonDeserializer(@Nullable tools.jackson.databind.JavaType targetType, tools.jackson.databind.json.JsonMapper jsonMapper) 指定されたターゲット型とJsonMapperを使用してインスタンスを構築します。- パラメーター:
targetType- 型情報ヘッダーが存在しない場合に使用するターゲット java 型。jsonMapper- マッパー。そうでない場合は入力します。
JacksonJsonDeserializer
public JacksonJsonDeserializer(@Nullable ClassSE<? super T> targetType, tools.jackson.databind.json.JsonMapper jsonMapper, boolean useHeadersIfPresent) 提供されたターゲット型JsonMapperおよび useHeadersIfPresent を使用してインスタンスを構築します。- パラメーター:
targetType- ターゲット型。jsonMapper- マッパー。useHeadersIfPresent- true の場合はヘッダーを使用し、存在しない場合はターゲット型にフォールバックします。
JacksonJsonDeserializer
public JacksonJsonDeserializer(@Nullable tools.jackson.core.type.TypeReference<? super T> targetType, tools.jackson.databind.json.JsonMapper jsonMapper, boolean useHeadersIfPresent) 提供されたターゲット型JsonMapperおよび useHeadersIfPresent を使用してインスタンスを構築します。- パラメーター:
targetType- ターゲット型の参照。jsonMapper- マッパー。useHeadersIfPresent- true の場合はヘッダーを使用し、存在しない場合はターゲット型にフォールバックします。
JacksonJsonDeserializer
public JacksonJsonDeserializer(@Nullable tools.jackson.databind.JavaType targetType, tools.jackson.databind.json.JsonMapper jsonMapper, boolean useHeadersIfPresent) 提供されたターゲット型JsonMapperおよび useHeadersIfPresent を使用してインスタンスを構築します。- パラメーター:
targetType- ターゲット型の参照。jsonMapper- マッパー。useHeadersIfPresent- true の場合はヘッダーを使用し、存在しない場合はターゲット型にフォールバックします。
メソッドの詳細
getTypeMapper
setTypeMapper
カスタマイズされた型マッパーを設定します。マッパーがJacksonJavaTypeMapperの場合、マッパーで設定されたクラスマッピングはすべて信頼済みパッケージに追加されます。- パラメーター:
typeMapper- 型マッパー。
setUseTypeMapperForKey
public void setUseTypeMapperForKey(boolean isKey) キー型ヘッダーを使用するようにデフォルトの JacksonJavaTypeMapper を構成します。- パラメーター:
isKey- true の場合、キー型 ヘッダーを使用する
setRemoveTypeHeaders
public void setRemoveTypeHeaders(boolean removeTypeHeaders) 逆直列化後に型情報ヘッダーを保持するには、false に設定します。デフォルトは true です。- パラメーター:
removeTypeHeaders- ヘッダーを削除する場合は true。
setUseTypeHeaders
public void setUseTypeHeaders(boolean useTypeHeaders) false に設定すると、ヘッダーの型情報が無視され、代わりに構成済みのターゲット型が使用されます。事前設定された型マッパーが使用されている場合にのみ適用されます。デフォルトは true です。- パラメーター:
useTypeHeaders- 型ヘッダーを無視する場合は false。
setTypeFunction
public void setTypeFunction(BiFunctionSE<byte[], org.apache.kafka.common.header.Headers, tools.jackson.databind.JavaType> typeFunction) デシリアライズするデータとヘッダーを受け取り、JavaType を返すBiFunctionSE を設定します。- パラメーター:
typeFunction- 関数。
setTypeResolver
デシリアライズするデータとヘッダーを受け取り、JavaType を返すJacksonJsonTypeResolverを設定します。- パラメーター:
typeResolver- リゾルバー。
configure
addTrustedPackages
デシリアライズ用の信頼できるパッケージを追加します。- パラメーター:
packages- パッケージ。
deserialize
deserialize
close
public void close()- 次で指定:
- インターフェース
AutoCloseableSEのclose - 次で指定:
- インターフェース
CloseableSEのclose - 次で指定:
- インターフェース
org.apache.kafka.common.serialization.Deserializer<T>のclose
copyWithType
新しいターゲット型が使用されることを除いて、同じ構成でこのデシリアライザーをコピーします。- 型パラメーター:
X- 新しい逆直列化の結果型- パラメーター:
newTargetType- null ではなく type ヘッダーが欠落している場合に使用される type- 戻り値:
- 型が変更されたデシリアライザーの新しいインスタンス
copyWithType
public <X> JacksonJsonDeserializer<X> copyWithType(tools.jackson.core.type.TypeReference<? super X> newTargetType) 新しいターゲット型参照が使用されることを除いて、同じ構成でこのデシリアライザーをコピーします。- 型パラメーター:
X- 新しい逆直列化の結果型- パラメーター:
newTargetType- null ではなく型ヘッダーが欠落している場合に使用される型参照- 戻り値:
- 型が変更されたデシリアライザーの新しいインスタンス
copyWithType
新しいターゲット java 型が使用されることを除いて、このデシリアライザーを同じ構成でコピーします。- 型パラメーター:
X- 新しい逆直列化の結果型- パラメーター:
newTargetType- null ではなく型ヘッダーが欠落している場合に使用される java 型- 戻り値:
- 型が変更されたデシリアライザーの新しいインスタンス
forKeys
キーを逆直列化するためにこのデシリアライザーを指定します(デフォルトは値です)。デフォルトの型マッパーが使用されている場合にのみ適用されます。- 戻り値:
- デシリアライザー。
dontRemoveTypeHeaders
ignoreTypeHeaders
型情報ヘッダーを無視し、構成されたターゲットクラスを使用します。- 戻り値:
- デシリアライザー。
- 関連事項:
typeMapper
付属のJacksonJavaTypeMapperを使用してください。- パラメーター:
mapper- マッパー。- 戻り値:
- デシリアライザー。
- 関連事項:
trustedPackages
信頼できるパッケージをデフォルトの型マッパーに追加します。- パラメーター:
packages- パッケージ。- 戻り値:
- デシリアライザー。
typeFunction
public JacksonJsonDeserializer<T> typeFunction(BiFunctionSE<byte[], org.apache.kafka.common.header.Headers, tools.jackson.databind.JavaType> typeFunction) デシリアライズするデータとヘッダーを受け取り、JavaType を返すBiFunctionSE を設定します。- パラメーター:
typeFunction- 関数。- 戻り値:
- デシリアライザー。
typeResolver
デシリアライズするデータとヘッダーを受け取り、JavaType を返すJsonTypeResolverを設定します。- パラメーター:
resolver- リゾルバー。- 戻り値:
- デシリアライザー。