|
这个版本仍在开发中,目前尚未被认为是稳定的。要使用最新稳定版本,请使用 Spring for Apache Kafka 4.0.4! |
什么是新内容?
4.1 版本自 4.0 以来的新特性
本部分涵盖从版本4.0到版本4.1的更改。 更早版本的更改,请参见 变更历史。
@KafkaListener变更
The @KafkaListener 注解现在支持一个 ackMode 属性,允许单独的监听器覆盖容器工厂的默认确认模式,而无需创建单独的容器工厂 bean。
该属性也支持 SpEL 表达式和属性占位符。
参见 @KafkaListener 注解 以获取更多信息。
分享消费者错误处理
共享消费者容器现在提供可配置的错误处理:
-
Poll-level:
RecordDeserializationExceptionandCorruptRecordExceptionfrompoll()是被捕获的,因此消费者线程继续;不可反序列化的记录会被 REJECT 并且下一次 poll 会继续进行。 -
监听器级别: 一个
ShareConsumerRecordRecoverer接口决定在监听器抛出异常时是否接受(ACCEPT)、释放(RELEASE)或拒绝(REJECT)。默认值为ShareConsumerRecordRecoverer.REJECTING;RELEASING也是可用的。 你可以在工厂或容器上设置自定义的恢复器。
ShareAcknowledgment.renew()
ShareAcknowledgment 现在支持在处理超过 broker 的锁持续时间时,通过 renew() 延伸获取锁(KIP-1222,Kafka 4.2)。
有关详情,请参见 ShareAcknowledgment API 在 Kafka Queues 文档中的说明。
RetryTopicConfigurationBuilder默认策略更改
The default value of sameIntervalTopicReuseStrategy in RetryTopicConfigurationBuilder has been changed from MULTIPLE_TOPICS to SINGLE_TOPIC to align with the @RetryableTopic annotation default.
See Topic Naming for more information.