2. 新增功能

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

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

2.1.1. Kafka 客户端版本

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

使用交易时,kafka-clients3.0.0 及更高版本不再支持EOSMode.V2(又名BETA)(并自动回退到V1-即ALPHA) 与早于 2.5 的经纪人;因此,您必须覆盖默认值EOSMode (V2) 替换为V1如果您的经纪人较旧(或升级您的经纪人)。

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

2.1.2. 软件包更改

与类型映射相关的类和接口已从…​support.converter…​support.mapping.spring-doc.cadn.net.cn

2.1.3. 无序手动提交

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

2.1.4.@KafkaListener变化

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

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

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

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

@KafkaListener注解现在具有filter属性来覆盖容器工厂的RecordFilterStrategy对于这个侦听器。spring-doc.cadn.net.cn

@KafkaListener注解现在具有info属性;这用于填充 New Listener Container 属性listenerInfo. 然后,它用于填充KafkaHeaders.LISTENER_INFOheader 中可用于RecordInterceptor,RecordFilterStrategy或侦听器本身。 有关更多信息,请参阅 Listener Info HeaderAbstract Listener Container Propertiesspring-doc.cadn.net.cn

2.1.5.KafkaTemplate变化

您现在可以接收给定主题、分区和偏移量的单个记录。 看KafkaTemplate接收了解更多信息。spring-doc.cadn.net.cn

2.1.6.CommonErrorHandler添加

遗产GenericErrorHandler其用于 Record an Batch 侦听器的子接口层次结构已替换为新的单个接口CommonErrorHandler与 大多数遗留 implementations 对应的GenericErrorHandler. 请参阅 容器错误处理程序将自定义旧版错误处理程序实现迁移到CommonErrorHandler了解更多信息。spring-doc.cadn.net.cn

2.1.7. 侦听器容器更改

interceptBeforeTxcontainer 属性现在是true默认情况下。spring-doc.cadn.net.cn

authorizationExceptionRetryIntervalproperty 已重命名为authExceptionRetryInterval,现在适用于AuthenticationExceptions 除了AuthorizationException之前。 这两个异常都被视为致命的,除非设置了此属性,否则容器将默认停止。spring-doc.cadn.net.cn

2.1.8. Serializer/Deserializer 更改

DelegatingByTopicSerializerDelegatingByTopicDeserializer现在提供。 有关更多信息,请参见Delegating Serializer 和 Deserializerspring-doc.cadn.net.cn

2.1.9.DeadLetterPublishingRecover变化

物业stripPreviousExceptionHeaders现在是true默认情况下。spring-doc.cadn.net.cn

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

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

2.1.10. 可重试主题更改

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

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

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

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