这个版本仍在开发中,目前尚未被认为是稳定的。要使用最新稳定版本,请使用 Spring for Apache Kafka 4.0.4spring-doc.cadn.net.cn

什么是新内容?

4.1 版本自 4.0 以来的新特性

本部分涵盖从版本4.0到版本4.1的更改。 更早版本的更改,请参见 变更历史spring-doc.cadn.net.cn

@KafkaListener变更

The @KafkaListener 注解现在支持一个 ackMode 属性,允许单独的监听器覆盖容器工厂的默认确认模式,而无需创建单独的容器工厂 bean。 该属性也支持 SpEL 表达式和属性占位符。 参见 @KafkaListener 注解 以获取更多信息。spring-doc.cadn.net.cn

分享消费者错误处理

共享消费者容器现在提供可配置的错误处理:spring-doc.cadn.net.cn

  • Poll-level: RecordDeserializationException and CorruptRecordException from poll() 是被捕获的,因此消费者线程继续;不可反序列化的记录会被 REJECT 并且下一次 poll 会继续进行。spring-doc.cadn.net.cn

  • 监听器级别: 一个ShareConsumerRecordRecoverer接口决定在监听器抛出异常时是否接受(ACCEPT)、释放(RELEASE)或拒绝(REJECT)。默认值为ShareConsumerRecordRecoverer.REJECTINGRELEASING也是可用的。 你可以在工厂或容器上设置自定义的恢复器。spring-doc.cadn.net.cn

  • Kafka 队列文档中的 Share consumer 错误处理spring-doc.cadn.net.cn

ShareAcknowledgment.renew()

ShareAcknowledgment 现在支持在处理超过 broker 的锁持续时间时,通过 renew() 延伸获取锁(KIP-1222,Kafka 4.2)。 有关详情,请参见 ShareAcknowledgment API 在 Kafka Queues 文档中的说明。spring-doc.cadn.net.cn

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.spring-doc.cadn.net.cn