クラス JacksonJsonDeserializer<T>

java.lang.ObjectSE
org.springframework.kafka.support.serializer.JacksonJsonDeserializer<T>
型パラメーター:
T - メッセージを表すエンティティのクラス
実装されているすべてのインターフェース:
CloseableSEAutoCloseableSEorg.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.JsonMapper
    static final StringSE
    ヘッダーがない場合のデフォルトのキー型の Kafka 構成プロパティ。
    static final StringSE
    キーを逆直列化する JavaType を決定するメソッド名: 'com.Foo.deserialize'。
    static final StringSE
    型ヘッダーを削除するための Kafka 構成プロパティ(デフォルトは true)。
    protected @Nullable tools.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'。
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
    デフォルトの 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 を使用してインスタンスを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    デシリアライズ用の信頼できるパッケージを追加します。
    void
    void
    configure(MapSE<StringSE,?> configs, boolean isKey)
    copyWithType(ClassSE<? super X> newTargetType)
    新しいターゲット型が使用されることを除いて、同じ構成でこのデシリアライザーをコピーします。
    copyWithType(tools.jackson.core.type.TypeReference<? super X> newTargetType)
    新しいターゲット型参照が使用されることを除いて、同じ構成でこのデシリアライザーをコピーします。
    copyWithType(tools.jackson.databind.JavaType newTargetType)
    新しいターゲット java 型が使用されることを除いて、このデシリアライザーを同じ構成でコピーします。
    @Nullable T
    deserialize(StringSE topic, byte @Nullable[] data)
    @Nullable T
    deserialize(StringSE topic, org.apache.kafka.common.header.Headers headers, byte @Nullable[] data)
    型情報ヘッダーを削除しないでください。
    キーを逆直列化するためにこのデシリアライザーを指定します(デフォルトは値です)。デフォルトの型マッパーが使用されている場合にのみ適用されます。
    型情報ヘッダーを無視し、構成されたターゲットクラスを使用します。
    void
    setRemoveTypeHeaders(boolean removeTypeHeaders)
    逆直列化後に型情報ヘッダーを保持するには、false に設定します。
    void
    setTypeFunction(BiFunctionSE<byte[], org.apache.kafka.common.header.Headers, tools.jackson.databind.JavaType> typeFunction)
    デシリアライズするデータとヘッダーを受け取り、JavaType を返す BiFunctionSE を設定します。
    void
    カスタマイズされた型マッパーを設定します。
    void
    デシリアライズするデータとヘッダーを受け取り、JavaType を返す JacksonJsonTypeResolver を設定します。
    void
    setUseTypeHeaders(boolean useTypeHeaders)
    false に設定すると、ヘッダーの型情報が無視され、代わりに構成済みのターゲット型が使用されます。
    void
    setUseTypeMapperForKey(boolean isKey)
    キー型ヘッダーを使用するようにデフォルトの JacksonJavaTypeMapper を構成します。
    信頼できるパッケージをデフォルトの型マッパーに追加します。
    typeFunction(BiFunctionSE<byte[], org.apache.kafka.common.header.Headers, tools.jackson.databind.JavaType> typeFunction)
    デシリアライズするデータとヘッダーを受け取り、JavaType を返す BiFunctionSE を設定します。
    付属の JacksonJavaTypeMapper を使用してください。
    デシリアライズするデータとヘッダーを受け取り、JavaType を返す JsonTypeResolver を設定します。

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

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

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

    deserialize
  • フィールドの詳細

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

    • JacksonJsonDeserializer

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

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

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

      public JacksonJsonDeserializer(@Nullable ClassSE<? super T> targetType, boolean useHeadersIfPresent)
      指定されたターゲット型でインスタンスを構築し、デフォルトの JsonMapper で HeadersIfPresent を使用します。
      パラメーター:
      targetType - ターゲット型。
      useHeadersIfPresent - true の場合はヘッダーを使用し、存在しない場合はターゲット型にフォールバックします。
    • 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

      public JacksonJsonDeserializer(ClassSE<? super T> targetType, tools.jackson.databind.json.JsonMapper jsonMapper)
      指定されたターゲット型と JsonMapper を使用してインスタンスを構築します。
      パラメーター:
      targetType - 型情報ヘッダーが存在しない場合に使用するターゲット型。
      jsonMapper - マッパー。そうでない場合は入力します。
    • 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

      public JacksonJavaTypeMapper getTypeMapper()
    • setTypeMapper

      public void setTypeMapper(JacksonJavaTypeMapper typeMapper)
      カスタマイズされた型マッパーを設定します。マッパーが 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

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

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

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

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

      public @Nullable T deserialize(StringSE topic, byte @Nullable [] 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> JacksonJsonDeserializer<X> copyWithType(ClassSE<? super X> newTargetType)
      新しいターゲット型が使用されることを除いて、同じ構成でこのデシリアライザーをコピーします。
      型パラメーター:
      X - 新しい逆直列化の結果型
      パラメーター:
      newTargetType - null ではなく type ヘッダーが欠落している場合に使用される type
      戻り値:
      型が変更されたデシリアライザーの新しいインスタンス
    • copyWithType

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

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

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

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

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

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

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

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

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