2. 新增功能

2.1. 自 2.7 以来 2.8 中的新增功能

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

2.1.1. Kafka 客户端版本

此版本需要 3.0.1kafka-clientsspring-doc.cn

使用事务时,3.0.0 及更高版本不再支持 (aka ) (并自动回退到 - aka ) 与 2.5 之前的代理;因此,如果您的经纪人较旧(或升级您的经纪人),则必须覆盖默认的 () 。kafka-clientsEOSMode.V2BETAV1ALPHAEOSModeV2V1

有关更多信息,请参阅 Exactly Once 语义KIP-447spring-doc.cn

2.1.2. 软件包更改

与类型映射相关的类和接口已从 移动到 。…​support.converter…​support.mappingspring-doc.cn

2.1.3. 无序手动提交

现在可以将侦听器容器配置为接受不按顺序(通常是异步)的手动偏移提交。 容器将延迟提交,直到确认缺少的偏移量。 有关更多信息,请参阅手动提交偏移量。spring-doc.cn

2.1.4. 更改@KafkaListener

现在可以指定侦听器方法是否是方法本身的批处理侦听器。 这允许将同一容器工厂用于记录侦听器和批处理侦听器。spring-doc.cn

有关更多信息,请参阅 Batch Listenersspring-doc.cn

批处理侦听器现在可以处理转换异常。spring-doc.cn

RecordFilterStrategy与批处理侦听器一起使用时,现在可以在一次调用中筛选整个批处理。 有关更多信息,请参阅 Batch Listeners 末尾的注释。spring-doc.cn

注解现在具有属性,用于仅覆盖此侦听器的容器工厂。@KafkaListenerfilterRecordFilterStrategyspring-doc.cn

注释现在具有 attribute;这用于填充 New Listener Container 属性 。 然后,这用于填充每条记录中的标题,该标题可以在 、 或侦听器本身中使用。 有关更多信息,请参阅 Listener Info HeaderAbstract Listener Container Properties@KafkaListenerinfolistenerInfoKafkaHeaders.LISTENER_INFORecordInterceptorRecordFilterStrategyspring-doc.cn

2.1.5. 更改KafkaTemplate

您现在可以接收给定主题、分区和偏移量的单个记录。 有关更多信息,请参阅使用 KafkaTemplate 接收spring-doc.cn

2.1.6. 已添加CommonErrorHandler

用于记录批处理侦听器的 legacy 及其子接口层次结构已替换为新的单个接口,其实现对应于 的大多数 legacy 实现。 有关更多信息,请参阅容器错误处理程序和将自定义旧版错误处理程序实现迁移到 CommonErrorHandlerGenericErrorHandlerCommonErrorHandlerGenericErrorHandlerspring-doc.cn

2.1.7. 侦听器容器更改

container 属性现在是默认的。interceptBeforeTxtruespring-doc.cn

该属性已重命名为 s,现在除了以前的 s 之外,还应用于 s。 这两个异常都被视为致命的,除非设置了此属性,否则容器将默认停止。authorizationExceptionRetryIntervalauthExceptionRetryIntervalAuthenticationExceptionAuthorizationExceptionspring-doc.cn

2.1.8. Serializer/Deserializer 更改

现在提供了 和。 有关更多信息,请参见Delegating Serializer 和 DeserializerDelegatingByTopicSerializerDelegatingByTopicDeserializerspring-doc.cn

2.1.9. 更改DeadLetterPublishingRecover

该属性现在是默认的。stripPreviousExceptionHeaderstruespring-doc.cn

现在有几种技术可以自定义将哪些标头添加到输出记录中。spring-doc.cn

有关更多信息,请参阅 管理死信记录标头spring-doc.cn

2.1.10. 可重试主题更改

现在,您可以对可重试和不可重试的主题使用相同的工厂。 有关更多信息,请参阅指定 ListenerContainerFactoryspring-doc.cn

现在有一个可管理的致命异常全局列表,这些异常将使失败的记录直接进入 DLT。 请参阅 Exception Classifier 以了解如何管理它。spring-doc.cn

现在,您可以结合使用阻塞和非阻塞重试。 有关更多信息,请参阅组合阻塞和非阻塞重试spring-doc.cn

使用可重试主题功能时引发的 KafkaBackOffException 现在记录在 DEBUG 级别。 如果您需要将日志记录级别更改回 WARN 或将其设置为任何其他级别,请参阅更改 KafkaBackOffException 日志记录级别spring-doc.cn