クラス JsonKafkaHeaderMapper

java.lang.ObjectSE
org.springframework.kafka.support.AbstractKafkaHeaderMapper
org.springframework.kafka.support.JsonKafkaHeaderMapper
実装されているすべてのインターフェース:
KafkaHeaderMapper

public class JsonKafkaHeaderMapper extends AbstractKafkaHeaderMapper
Apache Kafka のデフォルトヘッダーマッパー。Jackson 3 に基づいています。KafkaHeaders のほとんどのヘッダーは送信メッセージにマッピングされません。例外は、リクエスト / リプライメッセージングの相関ヘッダーとリプライヘッダーです。ヘッダー型は、特別なヘッダー JSON_TYPES に追加されます。
導入:
4.0
作成者:
Gary Russell, Artem Bilan, Soby Chacko, Sanghyoek An, Soby Chacko
  • フィールドの詳細

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

    • JsonKafkaHeaderMapper

      public JsonKafkaHeaderMapper()
      送信ヘッダーのデフォルトのオブジェクトマッパーとデフォルトのヘッダーパターンを使用してインスタンスを構築します。すべての受信ヘッダーがマップされます。デフォルトのパターンリストは "!id", "!timestamp" and "*" です。さらに、KafkaHeaders のほとんどのヘッダーは、コンシューマー / プロデューサーレコードのデータを表すため、ヘッダーとしてマップされることはありません。
      関連事項:
    • JsonKafkaHeaderMapper

      public JsonKafkaHeaderMapper(tools.jackson.databind.json.JsonMapper jsonMapper)
      提供されたオブジェクトマッパーと送信ヘッダーのデフォルトヘッダーパターンを使用してインスタンスを構築します。すべての受信ヘッダーがマップされます。パターンは順番に適用され、最初の一致(正または負)で停止します。パターンの前に "!" を付けると、パターンが無効になります。デフォルトのパターンリストは "!id", "!timestamp" and "*" です。さらに、KafkaHeaders のほとんどのヘッダーは、コンシューマー / プロデューサーレコードのデータを表すため、ヘッダーとしてマップされることはありません。
      パラメーター:
      jsonMapper - オブジェクトマッパー。
      関連事項:
    • JsonKafkaHeaderMapper

      public JsonKafkaHeaderMapper(StringSE... patterns)
      デフォルトのオブジェクトマッパーと送信ヘッダー用に提供されたヘッダーパターンを使用してインスタンスを構築します。すべての受信ヘッダーがマップされます。パターンは順番に適用され、最初の一致(正または負)で停止します。パターンの前に "!" を付けると、パターンが無効になります。パターンはデフォルトのパターンを置き換えます。通常、"id" and "timestamp" ヘッダーをマップしないでください。注: KafkaHeaders のヘッダーのほとんどは、コンシューマー / プロデューサーレコードのデータを表すため、ヘッダーとしてマップされます。
      パラメーター:
      patterns - パターン。
      関連事項:
    • JsonKafkaHeaderMapper

      public JsonKafkaHeaderMapper(tools.jackson.databind.json.JsonMapper jsonMapper, StringSE... patterns)
      提供されたオブジェクトマッパーと送信ヘッダー用に提供されたヘッダーパターンを使用してインスタンスを構築します。すべての受信ヘッダーがマップされます。パターンは順番に適用され、最初の一致(正または負)で停止します。パターンの前に "!" を付けると、パターンが無効になります。パターンはデフォルトのパターンを置き換えます。通常、"id" and "timestamp" ヘッダーをマップしないでください。注: KafkaHeaders のほとんどのヘッダーは、コンシューマー / プロデューサーレコードのデータを表すため、ヘッダーとしてマップされることはありません。
      パラメーター:
      jsonMapper - オブジェクトマッパー。
      patterns - パターン。
      関連事項:
  • メソッドの詳細

    • forInboundOnlyWithMatchers

      public static JsonKafkaHeaderMapper forInboundOnlyWithMatchers(StringSE... patterns)
      パターンマッチングのみを使用して受信 マッピング用のインスタンスを作成します。
      パラメーター:
      patterns - 一致するパターン。
      戻り値:
      ヘッダーマッパー。
    • forInboundOnlyWithMatchers

      public static JsonKafkaHeaderMapper forInboundOnlyWithMatchers(tools.jackson.databind.json.JsonMapper jsonMapper, StringSE... patterns)
      パターンマッチングのみを使用して受信 マッピング用のインスタンスを作成します。
      パラメーター:
      jsonMapper - オブジェクトマッパー。
      patterns - 一致するパターン。
      戻り値:
      ヘッダーマッパー。
    • getJsonMapper

      protected tools.jackson.databind.json.JsonMapper getJsonMapper()
      オブジェクトマッパーを返します。
      戻り値:
      マッパー。
    • getTrustedPackages

      protected SetSE<StringSE> getTrustedPackages()
      サブクラスに設定された信頼できるパッケージへの直接アクセスを提供します。
      戻り値:
      信頼できるパッケージ。
    • getToStringClasses

      protected SetSE<StringSE> getToStringClasses()
      サブクラスによる toString() クラスへの直接アクセスを提供します。
      戻り値:
      toString() クラス。
    • isEncodeStrings

      protected boolean isEncodeStrings()
    • setEncodeStrings

      public void setEncodeStrings(boolean encodeStrings)
      文字列値のヘッダーを JSON 文字列 ( "..." ) としてエンコードするには true に設定します。デフォルトでは、構成された文字セットを使用して生の文字列値のみがバイト配列に変換されます。送信レコードのコンシューマーが 2.3 より前の Spring for Apache Kafka バージョンを使用している場合は true に設定します。
      パラメーター:
      encodeStrings - エンコードする場合は true(デフォルトは false)。
    • addTrustedPackages

      public void addTrustedPackages(StringSE... packagesToTrust)
      JSON からオブジェクトを構築するときに使用される信頼できるパッケージのリストにパッケージを追加します。デフォルトでは、次のパッケージが信頼されます。
      • java.lang
      • java.net
      • java.util
      • org.springframework.util
      提供されたパッケージのいずれかが "*" である場合、すべてのパッケージが信頼されます。信頼されていないパッケージのクラスが見つかった場合、ヘッダーは型 JsonKafkaHeaderMapper.NonTrustedHeaderType の値でアプリケーションに返されます。
      パラメーター:
      packagesToTrust - 信頼するパッケージ。
    • addToStringClasses

      public void addToStringClasses(StringSE... classNames)
      送信マッパーがマッピングの前に toString() 操作を実行する必要があるクラス名を追加します。
      パラメーター:
      classNames - クラス名。
    • fromHeaders

      public void fromHeaders(MessageHeaders headers, org.apache.kafka.common.header.Headers target)
      インターフェースからコピーされた説明: KafkaHeaderMapper
      指定された MessageHeaders から指定されたターゲットヘッダーにマップします。
      パラメーター:
      headers - 抽象化された MessageHeaders。
      target - ネイティブターゲットヘッダー。
    • toHeaders

      public void toHeaders(org.apache.kafka.common.header.Headers source, MapSE<StringSE,ObjectSE> headers)
      インターフェースからコピーされた説明: KafkaHeaderMapper
      指定されたネイティブヘッダーから、最終的な MessageHeaders のヘッダーのマップにマップします。
      パラメーター:
      source - ネイティブヘッダー。
      headers - ターゲットヘッダー。
    • trusted

      protected boolean trusted(StringSE requestedType)