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