2. 新增功能
2.1. 自 2.7 以来 2.8 中的新增功能
本节介绍从版本 2.7 到版本 2.8 所做的更改。 有关早期版本的更改,请参阅更改历史记录。
2.1.1. Kafka 客户端版本
此版本需要 3.0.1kafka-clients
使用交易时,kafka-clients 3.0.0 及更高版本不再支持EOSMode.V2 (又名BETA )(并自动回退到V1 -即ALPHA ) 与早于 2.5 的经纪人;因此,您必须覆盖默认值EOSMode (V2 ) 替换为V1 如果您的经纪人较旧(或升级您的经纪人)。 |
有关更多信息,请参阅 Exactly Once 语义和 KIP-447。
2.1.2. 软件包更改
与类型映射相关的类和接口已从…support.converter
自…support.mapping
.
-
AbstractJavaTypeMapper
-
ClassMapper
-
DefaultJackson2JavaTypeMapper
-
Jackson2JavaTypeMapper
2.1.3. 无序手动提交
现在可以将侦听器容器配置为接受不按顺序(通常是异步)的手动偏移提交。 容器将延迟提交,直到确认缺少的偏移量。 有关更多信息,请参阅手动提交偏移量。
2.1.4.@KafkaListener
变化
现在可以指定侦听器方法是否是方法本身的批处理侦听器。 这允许将同一容器工厂用于记录侦听器和批处理侦听器。
有关更多信息,请参阅 Batch Listeners 。
批处理侦听器现在可以处理转换异常。
有关更多信息,请参阅使用批处理错误处理程序的转换错误。
RecordFilterStrategy
与批处理侦听器一起使用时,现在可以在一次调用中筛选整个批处理。
有关更多信息,请参阅 Batch Listeners 末尾的注释。
这@KafkaListener
注解现在具有filter
属性来覆盖容器工厂的RecordFilterStrategy
对于这个侦听器。
这@KafkaListener
注解现在具有info
属性;这用于填充 New Listener Container 属性listenerInfo
.
然后,它用于填充KafkaHeaders.LISTENER_INFO
header 中可用于RecordInterceptor
,RecordFilterStrategy
或侦听器本身。
有关更多信息,请参阅 Listener Info Header 和 Abstract Listener Container Properties 。
2.1.5.KafkaTemplate
变化
您现在可以接收给定主题、分区和偏移量的单个记录。
看用KafkaTemplate
接收了解更多信息。
2.1.6.CommonErrorHandler
添加
遗产GenericErrorHandler
其用于 Record an Batch 侦听器的子接口层次结构已替换为新的单个接口CommonErrorHandler
与 大多数遗留 implementations 对应的GenericErrorHandler
.
请参阅 容器错误处理程序 和将自定义旧版错误处理程序实现迁移到CommonErrorHandler
了解更多信息。
2.1.7. 侦听器容器更改
这interceptBeforeTx
container 属性现在是true
默认情况下。
这authorizationExceptionRetryInterval
property 已重命名为authExceptionRetryInterval
,现在适用于AuthenticationException
s 除了AuthorizationException
之前。
这两个异常都被视为致命的,除非设置了此属性,否则容器将默认停止。
2.1.8. Serializer/Deserializer 更改
这DelegatingByTopicSerializer
和DelegatingByTopicDeserializer
现在提供。
有关更多信息,请参见Delegating Serializer 和 Deserializer。
2.1.9.DeadLetterPublishingRecover
变化
物业stripPreviousExceptionHeaders
现在是true
默认情况下。
现在有几种技术可以自定义将哪些标头添加到输出记录中。
有关更多信息,请参阅 管理死信记录标头 。
2.1.10. 可重试主题更改
现在,您可以对可重试和不可重试的主题使用相同的工厂。 有关更多信息,请参阅指定 ListenerContainerFactory。
现在有一个可管理的致命异常全局列表,这些异常将使失败的记录直接进入 DLT。 请参阅 Exception Classifier 以了解如何管理它。
现在,您可以结合使用阻塞和非阻塞重试。 有关更多信息,请参阅组合阻塞和非阻塞重试。
使用可重试主题功能时引发的 KafkaBackOffException 现在记录在 DEBUG 级别。 如果您需要将日志记录级别更改回 WARN 或将其设置为任何其他级别,请参阅更改 KafkaBackOffException 日志记录级别。