领先一步
VMware 提供培训和认证,助您快速提升技能。
了解更多我们非常高兴地宣布 Spring for Apache Kafka 2.0 版本的第一个里程碑版本 2.0.0.M1 现已发布。
2.0 版本的重要新特性包括
KafkaTemplate
中支持时间戳。
跳转到主题的开头/结尾。
由 KIP-62 促成的新的线程模型 - 现在消费者客户端不再依赖于频繁调用 poll()
,线程模型变得更加简单;避免了内部 pause()
/ resume()
处理的需要。监听器现在始终在消费者线程上调用。这反过来又促进了
提供了 ConsumerAwareMessageListener
(和 BatchConsumerAwareMessageListener
),以便监听器实现可以访问 Consumer<?, ?>
对象来执行诸如 pause()
、resume()
、metrics()
等操作。
@KafkaListener
POJO 方法现在可以使用 @SendTo
注解来将方法结果发送到其他主题。
@KafkaListener(id = "replyingListener", topics = "inTopic") @SendTo("replyTopic") public String replyingListener(String in) { return in.toUpperCase(); }
更多信息,请参见 使用 @SendTo 转发监听器结果。
@KafkaListener
注解现在具有 errorHandler
属性,允许为每个监听器配置自定义错误处理程序。以前,您必须为每个监听器使用不同的容器工厂。
spring-kafka-test
中的嵌入式 Kafka 服务器 JUnit @Rule
现在可以作为 Spring Bean 提供(并自动注入到您的测试中)。为了进一步简化,框架可以自动为您声明该 Bean;只需在您的测试类中添加 @EmbeddedKafka
即可。有关更多信息,请参见 @EmbeddedKafka 注解。
此外,基于此 spring-kafka
里程碑版本,Spring Integration Kafka 扩展的第一个 3.0 里程碑版本 (3.0.0.M1) 也已发布。
这两个项目的里程碑版本都可以在 Spring 里程碑版本仓库 中获得。
我们非常感谢迄今为止收到的反馈(和贡献)。
注意
不幸的是,spring-kafka pom 文件对 spring-messaging-5.0.0.BUILD-SNAPSHOT
有一个不正确的传递依赖。我们不建议在生产环境中使用里程碑版本,但为了提供一个稳定的测试平台,您应该将此依赖项覆盖为 5.0.0.M5
。
2.0 版本的正式版预计将在初夏发布(紧随 Spring Framework 5.0 版本发布之后)。欢迎通过常规渠道提供反馈、功能请求,当然也欢迎贡献代码。