クラス BatchMessagingMessageConverter
java.lang.ObjectSE
org.springframework.kafka.support.converter.BatchMessagingMessageConverter
- 実装済みのインターフェース一覧:
BatchMessageConverter,MessageConverter
バッチメッセージリスナーで使用されるメッセージング
MessageConverter 実装。コンシューマーレコードの値は、メッセージペイロードのコレクションに抽出されます。 返されたメッセージに ConsumerRecord に基づいて KafkaHeaders を設定します。各ヘッダーは、コレクション内の位置がペイロードの位置と一致するコレクションです。
RecordMessageConverter が指定され、バッチ型が 1 つのジェネリクス型パラメーターを持つ ParameterizedTypeSE である場合、各レコードはコンバーターに渡され、メソッドシグネチャー List<MyType> myObjects がサポートされます。
- 導入:
- 1.1
- 作成者:
- Marius Bogoevici, Gary Russell, Dariusz Szablinski, Biju Kunjummen, Sanghyeok An, Hope Kim, Borahm Lee, Artem Bilan, Soby Chacko, George Mahfoud
フィールド概要
フィールドコンストラクター概要
コンストラクターコンストラクター説明レコード変換用にデフォルトのMessagingMessageConverterを持つインスタンスを作成します。BatchMessagingMessageConverter(@Nullable RecordMessageConverter recordConverter) 提供されたコンバーターを使用してレコード値を変換するインスタンスを作成します。方法の概要
修飾子と型メソッド説明protected @Nullable ObjectSEconvert(org.apache.kafka.clients.consumer.ConsumerRecord<?, ?> record, TypeSE type, ListSE<ConversionException> conversionFailures) レコード値を変換します。protected ObjectSEextractAndConvertValue(org.apache.kafka.clients.consumer.ConsumerRecord<?, ?> record, TypeSE type) サブクラスは値を変換できます。デフォルトでは、RecordMessageConverterが提供されていない限り、Kafka によって提供されたとおりに返されます。ListSE<org.apache.kafka.clients.producer.ProducerRecord<?, ?>> fromMessage(Message<?> message, StringSE defaultTopic) メッセージをプロデューサーレコードに変換します。@Nullable RecordMessageConverterこのバッチコンバーターが使用するレコードコンバーター (構成されている場合) または null を返します。voidsetGenerateMessageId(boolean generateMessageId) 作成されたメッセージに対してMessageidsを生成します。voidsetGenerateTimestamp(boolean generateTimestamp) 生成されたメッセージに対してtimestampを生成します。voidsetHeaderMapper(KafkaHeaderMapper headerMapper) ヘッダーマッパーを設定してヘッダーをマップします。voidsetMessagingConverter(@Nullable SmartMessageConverter messagingConverter) SmartMessageConverterを設定して、レコード値を目的の型に変換します。voidsetRawRecordHeader(boolean rawRecordHeader) true に設定すると、生のList<ConsumerRecord<?, ?>>がヘッダーKafkaHeaders.RAW_DATAとして追加されます。Message<?> toMessage(ListSE<org.apache.kafka.clients.consumer.ConsumerRecord<?, ?>> records, @Nullable Acknowledgment acknowledgment, @Nullable org.apache.kafka.clients.consumer.Consumer<?, ?> consumer, TypeSE type) ConsumerRecordのリストをMessageに変換します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.kafka.support.converter.MessageConverter から継承されたメソッド
commonHeaders
フィールドの詳細
logger
コンストラクターの詳細
BatchMessagingMessageConverter
public BatchMessagingMessageConverter()レコード変換用にデフォルトのMessagingMessageConverterを持つインスタンスを作成します。- 導入:
- 3.3.11
BatchMessagingMessageConverter
提供されたコンバーターを使用してレコード値を変換するインスタンスを作成します。- パラメーター:
recordConverter- コンバーター。- 導入:
- 1.3.2
メソッドの詳細
setGenerateMessageId
public void setGenerateMessageId(boolean generateMessageId) - パラメーター:
generateMessageId- メッセージ ID を生成する必要がある場合は true
setGenerateTimestamp
public void setGenerateTimestamp(boolean generateTimestamp) 生成されたメッセージに対してtimestampを生成します。falseに設定されている場合、代わりに -1 が使用されます。デフォルトでは、falseに設定されます。- パラメーター:
generateTimestamp- タイムスタンプを生成する必要がある場合は true
setHeaderMapper
ヘッダーマッパーを設定してヘッダーをマップします。- パラメーター:
headerMapper- マッパー。- 導入:
- 1.3
getRecordMessageConverter
インターフェースからコピーされた説明:BatchMessageConverterこのバッチコンバーターが使用するレコードコンバーター (構成されている場合) または null を返します。- 次で指定:
- インターフェース
BatchMessageConverterのgetRecordMessageConverter - 戻り値:
- コンバーターまたは null。
setMessagingConverter
SmartMessageConverterを設定して、レコード値を目的の型に変換します。- パラメーター:
messagingConverter- コンバーター。- 導入:
- 3.3.11
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, @Nullable org.apache.kafka.clients.consumer.Consumer<?, ?> consumer, TypeSE type) インターフェースからコピーされた説明:BatchMessageConverterConsumerRecordのリストをMessageに変換します。- 次で指定:
- インターフェース
BatchMessageConverterのtoMessage - パラメーター:
records- 記録。acknowledgment- 承認。consumer- コンシューマー。type- 必要なペイロード型。- 戻り値:
- メッセージ。
fromMessage
public ListSE<org.apache.kafka.clients.producer.ProducerRecord<?,?>> fromMessage(Message<?> message, StringSE defaultTopic) インターフェースからコピーされた説明:BatchMessageConverterメッセージをプロデューサーレコードに変換します。- 次で指定:
- インターフェース
BatchMessageConverterのfromMessage - パラメーター:
message- メッセージ。defaultTopic- ヘッダーが見つからない場合に使用するデフォルトのトピック。- 戻り値:
- プロデューサーの記録。
extractAndConvertValue
protected ObjectSE extractAndConvertValue(org.apache.kafka.clients.consumer.ConsumerRecord<?, ?> record, TypeSE type) サブクラスは値を変換できます。デフォルトでは、RecordMessageConverterが提供されていない限り、Kafka によって提供されたとおりに返されます。- パラメーター:
record- レコード。type- 必要な型。- 戻り値:
- 値。
convert
protected @Nullable ObjectSE convert(org.apache.kafka.clients.consumer.ConsumerRecord<?, ?> record, TypeSE type, ListSE<ConversionException> conversionFailures) レコード値を変換します。- パラメーター:
record- レコード。type- 型 - 単一のジェネリクス型パラメーターを持つParameterizedTypeSE でなければなりません。conversionFailures- 変換の失敗。- 戻り値:
- 変換されたペイロード。
SmartMessageConverterによってさらに処理される可能性があります。