Spring for Apache Kafka 2.2 发布了 ,虽然 2.1.x 版本与 2.0.0 kafka-clients jar 相兼容(自 2.1.9 起),但此版本要求 2.0.0(并提供 2.0.0 嵌入式代理以进行测试)。
更新亮点:
The SeekToCurrentErrorHandler
can now "skip" records that fail repeatedly
Such "skipped" records can be published to a dead-letter topic (or otherwise disposed of by application code)
Headers are added with diagnostics about the failure
When using transactions, the same functionality can be achieved with the default AfterRollbackProcessor
You can now use the listener container factory to create any arbitrary listener container, not just containers for @KafkaListener
s
This allows more convenient use of Spring Boot’s auto configuration properties for any container
@KafkaListener
annotations can now override the container factory’s concurrency
and autoStartup
properties
The new ErrorhandlingDeserializer
can catch deserialization exceptions which are then routed to the ErrorHandler
The embedded kafka broker can now be used with JUnit 5 tests
有关更多信息,请参阅文档中的 “新增内容” 一章和 更新日志 。
此外,Spring Integration for Apache Kafka (spring-integration-kafka) 3.1.0.RELEASE 也已发布,它基于 Spring for Apache Kafka 2.2 和 Spring Integration 5.1。
Spring for Apache Kafka (spring-kafka) 项目将核心 Spring 概念应用于基于 Kafka 的消息传递解决方案。它提供了一个“模板”作为发送消息的高级抽象。它还为带有 @KafkaListener 注解和“侦听器容器(listener container)”的消息驱动的 POJO 提供支持。这些库促进了依赖注入和声明的使用。在所有这些情况下,您将看到 Spring Framework 中的 JMS 支持和 Spring AMQP 中的 RabbitMQ 支持的相似之处。