クラス JsonDeserializer<T>

java.lang.ObjectSE
org.springframework.kafka.support.serializer.JsonDeserializer<T>
型パラメーター:
T - メッセージを表すエンティティのクラス
実装されたすべてのインターフェース:
CloseableSEAutoCloseableSEorg.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'。
    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
    デシリアライズ用の信頼できるパッケージを追加します。
    void
    void
    configure(MapSE<StringSE,?> configs, boolean isKey)
    copyWithType(com.fasterxml.jackson.core.type.TypeReference<? super X> newTargetType)
    新しいターゲット型参照が使用されることを除いて、同じ構成でこのデシリアライザーをコピーします。
    copyWithType(com.fasterxml.jackson.databind.JavaType newTargetType)
    新しいターゲット java 型が使用されることを除いて、このデシリアライザーを同じ構成でコピーします。
    copyWithType(ClassSE<? super X> newTargetType)
    新しいターゲット型が使用されることを除いて、同じ構成でこのデシリアライザーをコピーします。
    deserialize(StringSE topic, byte[] data)
    deserialize(StringSE topic, org.apache.kafka.common.header.Headers headers, byte[] data)
    型情報ヘッダーを削除しないでください。
    キーを逆直列化するためにこのデシリアライザーを指定します(デフォルトは値です)。デフォルトの型マッパーが使用されている場合にのみ適用されます。
    型情報ヘッダーを無視し、構成されたターゲットクラスを使用します。
    void
    setRemoveTypeHeaders(boolean removeTypeHeaders)
    逆直列化後に型情報ヘッダーを保持するには、false に設定します。
    void
    setTypeFunction(BiFunctionSE<byte[],org.apache.kafka.common.header.Headers,com.fasterxml.jackson.databind.JavaType> typeFunction)
    デシリアライズするデータとヘッダーを受け取り、JavaType を返す BiFunctionSE を設定します。
    void
    カスタマイズされた型マッパーを設定します。
    void
    デシリアライズするデータとヘッダーを受け取り、JavaType を返す JsonTypeResolver を設定します。
    void
    setUseTypeHeaders(boolean useTypeHeaders)
    false に設定すると、ヘッダーの型情報が無視され、代わりに構成済みのターゲット型が使用されます。
    void
    setUseTypeMapperForKey(boolean isKey)
    キー型ヘッダーを使用するようにデフォルトの Jackson2JavaTypeMapper を構成します。
    信頼できるパッケージをデフォルトの型マッパーに追加します。
    typeFunction(BiFunctionSE<byte[],org.apache.kafka.common.header.Headers,com.fasterxml.jackson.databind.JavaType> typeFunction)
    デシリアライズするデータとヘッダーを受け取り、JavaType を返す BiFunctionSE を設定します。
    付属の Jackson2JavaTypeMapper を使用してください。
    デシリアライズするデータとヘッダーを受け取り、JavaType を返す JsonTypeResolver を設定します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE

    インターフェース org.apache.kafka.common.serialization.Deserializer から継承されたメソッド

    deserialize
  • フィールドの詳細

  • コンストラクターの詳細

    • JsonDeserializer

      public JsonDeserializer()
      デフォルトの ObjectMapper を使用してインスタンスを作成します。
    • JsonDeserializer

      public JsonDeserializer(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
      提供された ObjectMapper を使用してインスタンスを構築します。
      パラメーター:
      objectMapper - カスタムオブジェクトマッパー。
    • JsonDeserializer

      public JsonDeserializer(@Nullable ClassSE<? super T> targetType)
      提供されたターゲット型とデフォルトの ObjectMapper を使用してインスタンスを構築します。
      パラメーター:
      targetType - 型情報ヘッダーが存在しない場合に使用するターゲット型。
    • JsonDeserializer

      public JsonDeserializer(@Nullable com.fasterxml.jackson.core.type.TypeReference<? super T> targetType)
      提供されたターゲット型とデフォルトの ObjectMapper を使用してインスタンスを構築します。
      パラメーター:
      targetType - 型情報ヘッダーが存在しない場合に使用するターゲット型参照。
      導入:
      2.3
    • JsonDeserializer

      public JsonDeserializer(@Nullable com.fasterxml.jackson.databind.JavaType targetType)
      提供されたターゲット型とデフォルトの ObjectMapper を使用してインスタンスを構築します。
      パラメーター:
      targetType - 型情報ヘッダーが存在しない場合に使用するターゲット java 型。
      導入:
      2.3
    • JsonDeserializer

      public JsonDeserializer(@Nullable ClassSE<? super T> targetType, boolean useHeadersIfPresent)
      指定されたターゲット型でインスタンスを構築し、デフォルトの 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

      public Jackson2JavaTypeMapper getTypeMapper()
    • setTypeMapper

      public void setTypeMapper(Jackson2JavaTypeMapper typeMapper)
      カスタマイズされた型マッパーを設定します。マッパーが 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 を返す BiFunctionSE を設定します。
      パラメーター:
      typeFunction - 関数。
      導入:
      2.5
    • setTypeResolver

      public void setTypeResolver(JsonTypeResolver typeResolver)
      デシリアライズするデータとヘッダーを受け取り、JavaType を返す JsonTypeResolver を設定します。
      パラメーター:
      typeResolver - リゾルバー。
      導入:
      2.5.3
    • configure

      public void configure(MapSE<StringSE,?> configs, boolean isKey)
      次で指定:
      インターフェース org.apache.kafka.common.serialization.Deserializer<T>configure 
    • addTrustedPackages

      public void addTrustedPackages(StringSE... packages)
      デシリアライズ用の信頼できるパッケージを追加します。
      パラメーター:
      packages - パッケージ。
      導入:
      2.1
    • deserialize

      public T deserialize(StringSE topic, org.apache.kafka.common.header.Headers headers, byte[] data)
      次で指定:
      インターフェース org.apache.kafka.common.serialization.Deserializer<T>deserialize 
    • deserialize

      public T deserialize(StringSE topic, @Nullable byte[] data)
      次で指定:
      インターフェース org.apache.kafka.common.serialization.Deserializer<T>deserialize 
    • close

      public void close()
      次で指定:
      インターフェース AutoCloseableSEclose 
      次で指定:
      インターフェース CloseableSEclose 
      次で指定:
      インターフェース org.apache.kafka.common.serialization.Deserializer<T>close 
    • copyWithType

      public <X> JsonDeserializer<X> copyWithType(ClassSE<? super X> newTargetType)
      新しいターゲット型が使用されることを除いて、同じ構成でこのデシリアライザーをコピーします。
      型パラメーター:
      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

      public <X> JsonDeserializer<X> copyWithType(com.fasterxml.jackson.databind.JavaType newTargetType)
      新しいターゲット java 型が使用されることを除いて、このデシリアライザーを同じ構成でコピーします。
      型パラメーター:
      X - 新しい逆直列化の結果型
      パラメーター:
      newTargetType - null ではなく型ヘッダーが欠落している場合に使用される java 型
      戻り値:
      型が変更されたデシリアライザーの新しいインスタンス
      導入:
      2.6
    • forKeys

      public JsonDeserializer<T> forKeys()
      キーを逆直列化するためにこのデシリアライザーを指定します(デフォルトは値です)。デフォルトの型マッパーが使用されている場合にのみ適用されます。
      戻り値:
      デシリアライザー。
      導入:
      2.3
    • dontRemoveTypeHeaders

      public JsonDeserializer<T> dontRemoveTypeHeaders()
      型情報ヘッダーを削除しないでください。
      戻り値:
      デシリアライザー。
      導入:
      2.3
      関連事項:
    • ignoreTypeHeaders

      public JsonDeserializer<T> ignoreTypeHeaders()
      型情報ヘッダーを無視し、構成されたターゲットクラスを使用します。
      戻り値:
      デシリアライザー。
      導入:
      2.3
      関連事項:
    • typeMapper

      public JsonDeserializer<T> typeMapper(Jackson2JavaTypeMapper mapper)
      付属の Jackson2JavaTypeMapper を使用してください。
      パラメーター:
      mapper - マッパー。
      戻り値:
      デシリアライザー。
      導入:
      2.3
      関連事項:
    • trustedPackages

      public JsonDeserializer<T> trustedPackages(StringSE... packages)
      信頼できるパッケージをデフォルトの型マッパーに追加します。
      パラメーター:
      packages - パッケージ。
      戻り値:
      デシリアライザー。
      導入:
      2,5
    • typeFunction

      public JsonDeserializer<T> typeFunction(BiFunctionSE<byte[],org.apache.kafka.common.header.Headers,com.fasterxml.jackson.databind.JavaType> typeFunction)
      デシリアライズするデータとヘッダーを受け取り、JavaType を返す BiFunctionSE を設定します。
      パラメーター:
      typeFunction - 関数。
      戻り値:
      デシリアライザー。
      導入:
      2.5
    • typeResolver

      public JsonDeserializer<T> typeResolver(JsonTypeResolver resolver)
      デシリアライズするデータとヘッダーを受け取り、JavaType を返す JsonTypeResolver を設定します。
      パラメーター:
      resolver - リゾルバー。
      戻り値:
      デシリアライザー。
      導入:
      2.5.3