Ohhnews

分类导航

$ cd ..
Spring Blog原文

Spring for Apache Kafka 发布 4.1.0-RC1、4.0.5 及 3.3.15 版本

#spring#apache kafka#消息队列#软件更新#后端开发

我代表团队以及所有做出贡献的人员,非常高兴地宣布 Spring for Apache Kafka 4.1.0-RC14.0.53.3.15 版本现已发布。我们衷心感谢所有使这些版本发布成为可能的贡献者。

关于 4.1 系列相较于 4.0 的新特性,更详细的介绍请参阅参考手册中的 What's New in 4.1 Since 4.0 章节。


4.1.0-RC1 新特性

共享消费者 (Share consumer)

Kafka Streams

  • group.protocol (#4329): StreamsBuilderFactoryBean 公开了 groupProtocol,以便您可以选择经典消费者协议或用于服务端再平衡的 Streams 组协议 (KIP-1071)。详情请见:组协议 (Group protocol)

  • 原生死信队列 (DLQ) 和 Streams 异常处理器 (#4328): Kafka 4.2 的 KIP-1034 通过共享的 handleError() 契约以及 Kafka Streams 本身发出的可选死信记录,扩展了反序列化、处理和生产异常处理器。Spring Kafka 传统上使用 RecoveringDeserializationExceptionHandler 配合 DeadLetterPublishingRecoverer + KafkaTemplate。此版本将 Spring Kafka 用于 Kafka Streams 的恢复处理器与 KIP-1034 对齐:更新了 RecoveringDeserializationExceptionHandler,并新增了 RecoveringProcessingExceptionHandler / RecoveringProductionExceptionHandler。当您配置了 DLQ 主题、目标解析器或工厂 bean 的死信主题名称时,失败处理可以遵循原生的 DLQ 路径;如果不配置,行为将保持为您已依赖的基于恢复器的路径。处理器配置和 DLQ 选项:反序列化恢复 (Deserialization recovery)处理恢复 (Processing recovery)生产恢复 (Production recovery)

其他修复与文档更新

  • 使用过滤消息进行异步处理 (FilteringMessageListenerAdapter) (#4377)
  • ShareKafkaMessageListenerContainer.doStart() 等待消费者线程完成 (#4357)
  • StreamsBuilderFactory 属性在初始化后保持不可变 (#4382)
  • 在消费者和生产者工厂上添加 JSpecify @Nullable 注解 (#4355)
  • 明确了关于 messageListener 的容器属性文档 (#4417)

4.0.5 和 3.3.15(补丁版本)

补丁版本 4.0.53.3.15 包含了我们在 4.1.0-RC1 中发布且适用于这些分支的同类修复。

4.0.5 包含了针对异步提交过滤、共享容器启动、StreamsBuilderFactory 不可变性、工厂可空性注解、Kafka 客户端补丁对齐以及当前 Spring 堆栈 BOM(Spring Framework、Reactor、Micrometer、Tracing、Spring Data、Logging)的修复。

3.3.15 引入了 FilteringMessageListenerAdapter 的修复,并对 3.3.x 系列进行了 Framework/Reactor 的维护性升级。


发布说明

更多详细信息以及依赖更新和其他更改,请参阅发布说明。


Spring Boot 集成

Spring Kafka 3.3.15 将集成到 Spring Boot 3.5.14 中。Spring Kafka 4.0.5 将集成到 Spring Boot 4.0.6 中。Spring Kafka 4.1.0-RC1 将集成到 Spring Boot 4.1.0-RC1 中。


社区反馈

欢迎在 GitHub 上提供反馈和报告问题。

GitHub | 项目主页 | 文档