此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring for Apache Kafka 3.3.0spring-doc.cn

新增功能

自 3.2 以来 3.3 中的新增功能

本节介绍从版本 3.2 到版本 3.3 所做的更改。 有关早期版本的更改,请参阅更改历史记录spring-doc.cn

DLT 主题命名约定

DLT 主题的命名约定已标准化,以始终使用“-dlt”后缀。此更改可确保兼容性,并避免在不同重试解决方案之间转换时发生冲突。希望保留 “.DLT“后缀行为需要通过设置适当的 DLT name 属性来显式选择加入。spring-doc.cn

使用者组的增强查找操作

新方法 已添加到界面中。 此方法通过仅针对所需的使用者组来允许进行更具选择性的查找操作。 现在,还可以在多组侦听器场景中注册、检索和删除每个主题分区的所有回调,而不会丢失任何回调。 有关更多详细信息,请参阅新的 API (, )。 有关更多详细信息,请参阅 Seek API 文档getGroupId()ConsumerSeekCallbackAbstractConsumerSeekAwaregetSeekCallbacksFor(TopicPartition topicPartition)getTopicsAndCallbacks()spring-doc.cn

使用 RecordFilterStrategy 在 Kafka Listener 中配置空批处理

RecordFilterStrategy现在支持忽略筛选产生的空批处理。 这可以通过覆盖 default method 来配置,该方法默认为 false,确保即使过滤掉所有方法也调用。 有关更多详细信息,请参阅 消息接收过滤 文档ignoreEmptyBatch()KafkaListenerConsumerRecordsspring-doc.cn

ConcurrentContainerStoppedEvent 事件

现在,当其所有子容器都停止时,会发出 a。 有关更多详细信息,请参阅应用程序事件和 Javadocs。ConcurentContainerMessageListenerContainerConcurrentContainerStoppedEventConcurrentContainerStoppedEventspring-doc.cn

回复中的原始记录键

使用 时,如果请求中的原始记录包含键,则该键也将是回复的一部分。 有关更多详细信息,请参阅参考文档的发送消息部分。ReplyingKafkaTemplatespring-doc.cn

在 DeadLetterPublishingRecovererFactory 中自定义日志记录

使用 时,用户应用程序可以覆盖该方法以自定义日志记录行为。DeadLetterPublishingRecovererFactorymaybeLogListenerExceptionspring-doc.cn

在 KafkaAdmin 中自定义 Admin 客户端

扩展时,用户应用程序可能会覆盖自定义 Admin 客户端创建的方法。KafkaAdmincreateAdminspring-doc.cn

自定义 Kafka Streams 的实现

使用时,现在可以通过覆盖该方法来返回对象的自定义实现。KafkaStreamsCustomizerKafkaStreamsinitKafkaStreamsspring-doc.cn

KafkaHeaders.DELIVERY_ATTEMPT 用于批处理侦听器

使用 时,可以在其 headers 字段中包含 header。 如果 设置为 error handler 作为重试侦听器,则每个都有 delivery attempt 标头。 有关更多详细信息,请参阅适用于 Batch Listener 的 Kafka 标头BatchListenerConsumerRecordKafkaHeaders.DELIVERY_ATTMPTDeliveryAttemptAwareRetryListenerConsumerRecordspring-doc.cn

Kafka Metrics Listeners 和TaskScheduler

的 和 现在可以使用 . 有关更多信息,请参阅 JavaDocs 和 Micrometer SupportMicrometerProducerListenerMicrometerConsumerListenerKafkaStreamsMicrometerListenerTaskSchedulerKafkaMetricsSupportspring-doc.cn