クラス BatchMessagingMessageConverter

java.lang.ObjectSE
org.springframework.kafka.support.converter.BatchMessagingMessageConverter
実装されたすべてのインターフェース:
BatchMessageConverterMessageConverter

public class BatchMessagingMessageConverter extends ObjectSE implements BatchMessageConverter
バッチメッセージリスナーで使用されるメッセージング MessageConverter 実装。コンシューマーレコードの値は、メッセージペイロードのコレクションに抽出されます。

返されたメッセージに ConsumerRecord に基づいて KafkaHeaders を設定します。各ヘッダーは、コレクション内の位置がペイロードの位置と一致するコレクションです。

RecordMessageConverter が指定され、バッチ型が 1 つのジェネリクス型パラメーターを持つ ParameterizedTypeSE である場合、各レコードはコンバーターに渡され、メソッドシグネチャー List<Foo> foos がサポートされます。

導入:
1.1
作成者:
Marius Bogoevici, Gary Russell, Dariusz Szablinski, Biju Kunjummen
  • フィールドの詳細

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

    • BatchMessagingMessageConverter

      public BatchMessagingMessageConverter()
      レコード値を変換しないインスタンスを作成します。
    • BatchMessagingMessageConverter

      public BatchMessagingMessageConverter(RecordMessageConverter recordConverter)
      提供されたコンバーターを使用してレコード値を変換するインスタンスを作成します。
      パラメーター:
      recordConverter - コンバーター。
      導入:
      1.3.2
  • メソッドの詳細

    • setGenerateMessageId

      public void setGenerateMessageId(boolean generateMessageId)
      作成されたメッセージに対して Message ids を生成します。false に設定すると、デフォルト値を使用しようとします。デフォルトでは false に設定されています。
      パラメーター:
      generateMessageId - メッセージ ID を生成する必要がある場合は true
    • setGenerateTimestamp

      public void setGenerateTimestamp(boolean generateTimestamp)
      生成されたメッセージに対して timestamp を生成します。false に設定すると、代わりに -1 が使用されます。デフォルトでは false に設定されています。
      パラメーター:
      generateTimestamp - タイムスタンプを生成する必要がある場合は true
    • setHeaderMapper

      public void setHeaderMapper(KafkaHeaderMapper headerMapper)
      ヘッダーマッパーを設定してヘッダーをマップします。
      パラメーター:
      headerMapper - マッパー。
      導入:
      1.3
    • getRecordMessageConverter

      public RecordMessageConverter getRecordMessageConverter()
      インターフェースからコピーされた説明: BatchMessageConverter
      このバッチコンバーターが使用するレコードコンバーター (構成されている場合) または null を返します。
      次で指定:
      インターフェース BatchMessageConvertergetRecordMessageConverter 
      戻り値:
      コンバーターまたは null。
    • setRawRecordHeader

      public void setRawRecordHeader(boolean rawRecordHeader)
      true に設定すると、生の List<ConsumerRecord<?, ?>> がヘッダー KafkaHeaders.RAW_DATA として追加されます。
      パラメーター:
      rawRecordHeader - true の場合、ヘッダーを追加します。
      導入:
      2.7
    • toMessage

      public Message<?> toMessage(ListSE<org.apache.kafka.clients.consumer.ConsumerRecord<?,?>> records, @Nullable Acknowledgment acknowledgment, org.apache.kafka.clients.consumer.Consumer<?,?> consumer, TypeSE type)
      インターフェースからコピーされた説明: BatchMessageConverter
      ConsumerRecord のリストを Message に変換します。
      次で指定:
      インターフェース BatchMessageConvertertoMessage 
      パラメーター:
      records - 記録。
      acknowledgment - 承認。
      consumer - コンシューマー。
      type - 必要なペイロード型。
      戻り値:
      メッセージ。
    • fromMessage

      public ListSE<org.apache.kafka.clients.producer.ProducerRecord<?,?>> fromMessage(Message<?> message, StringSE defaultTopic)
      インターフェースからコピーされた説明: BatchMessageConverter
      メッセージをプロデューサーレコードに変換します。
      次で指定:
      インターフェース BatchMessageConverterfromMessage 
      パラメーター:
      message - メッセージ。
      defaultTopic - ヘッダーが見つからない場合に使用するデフォルトのトピック。
      戻り値:
      プロデューサーの記録。
    • extractAndConvertValue

      protected ObjectSE extractAndConvertValue(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record, TypeSE type)
      サブクラスは値を変換できます。デフォルトでは、RecordMessageConverter が提供されていない限り、Kafka によって提供されたとおりに返されます。
      パラメーター:
      record - レコード。
      type - 必要な型。
      戻り値:
      値。
    • convert

      protected ObjectSE convert(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record, TypeSE type, ListSE<ConversionException> conversionFailures)
      レコード値を変換します。
      パラメーター:
      record - レコード。
      type - 型 - 単一のジェネリクス型パラメーターを持つ ParameterizedTypeSE でなければなりません。
      conversionFailures - 変換の失敗。
      戻り値:
      変換されたペイロード。