领先一步
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 Integration Kafka 扩展的第一个 3.0 里程碑版本 (3.0.0.M1) 现已可用,该版本基于此 spring-kafka 里程碑版本。
这两个项目的里程碑版本都可以在 Spring 里程碑仓库 中找到。
我们非常感谢迄今为止收到的反馈(和贡献)。
注意
不幸的是,spring-kafka 的 pom 文件对 spring-messaging-5.0.0.BUILD-SNAPSHOT 有不正确的传递依赖。我们不建议在生产环境中使用里程碑版本,但为了提供稳定的测试平台,您应该将此依赖覆盖为 5.0.0.M5。
2.0 版本的正式发布预计在初夏(在 Spring Framework 5.0 发布后不久)。欢迎通过常规渠道提供反馈、功能请求以及贡献。