2. 有什么新功能?

2.1. 2.8 自 2.7 以来的新功能

本节介绍从 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

有关更多信息,请参阅批处理侦听器spring-doc.cadn.net.cn

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

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

@KafkaListener注释现在具有filter属性,以覆盖容器工厂的RecordFilterStrategy只为这个听众。spring-doc.cadn.net.cn

@KafkaListener注释现在具有info属性; 这用于填充新的侦听器容器属性listenerInfo. 然后,它用于填充KafkaHeaders.LISTENER_INFO每个记录中的标头,可用于RecordInterceptor,RecordFilterStrategy,或侦听器本身。有关更多信息,请参阅侦听器信息标头抽象侦听器容器属性spring-doc.cadn.net.cn

2.1.5.KafkaTemplate变化

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

2.1.6.CommonErrorHandler添加

遗产GenericErrorHandler及其用于记录批处理侦听器的子接口层次结构已被新的单个接口所取代CommonErrorHandler与大多数旧版实现相对应的实现GenericErrorHandler. 请参阅容器错误处理程序将自定义旧版错误处理程序实现迁移到CommonErrorHandler了解更多信息。spring-doc.cadn.net.cn

2.1.7. 侦听器容器更改

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

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

2.1.8. 序列化器/解序列化器更改

DelegatingByTopicSerializerDelegatingByTopicDeserializer现在提供了。 有关详细信息,请参阅委托序列化器和反序列化器spring-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。 请参阅异常分类器以了解如何管理它。spring-doc.cadn.net.cn

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

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