Spring for Apache Kafka Milestone 1 发布

工程 | Gary Russell | 2016年3月14日 | ...

我很高兴地宣布 spring-kafka (Spring for Apache Kafka) 的第一个里程碑版本现已可用 (1.0.0.M1)。

现有的 spring-integration-kafka 扩展项目 - 目前版本为 1.3.0.RELEASE,支持 Kafka 0.8.x.x,并用于 Spring XD (Kafka MessageBus) 和 Spring Cloud Stream (Kafka Binder)。

这个新项目 (spring-kafka) 将核心组件分离出来成为一个独立的工程。它基于新的 0.9.0.x 原生 Java Kafka 客户端。

spring-kafka 为所有 Spring 用户带来了熟悉的 Spring 编程模型到 Apache Kafka,而不仅仅是 Spring Integration 的用户。即将发布的 spring-integration-kafka 版本将进行彻底重写,内部将利用 spring-kafka 项目。

与 Spring 产品组合中的其他消息项目类似,spring-kafka 提供了

  • 消息监听器容器。
  • 用于 POJO 消息监听器的注解 (@KafkaListener - 类似于 @JmsListener@RabbitListener)。
  • KafkaTemplate 用于同步和异步发送到 Kafka 主题
@Configuration
@EnableKafka
public class KafkaConfig {
     // Infrastructure @Beans omitted. 
     // See Reference Manual and tests for comprehensive sample

     @Bean
     public Listener listener() {
        return new Listener();
     }

}

public class Listener {

     @KafkaListener(topics = "myTopic")
     public void handleFromKakfa(String payload) {
       ...
    }

}

使用 Maven 或 Gradle

<dependencies>
    <dependency>
        <groupId>org.springframework.kafka</groupId>
        <artifactId>spring-kafka</artifactId>
        <version>1.0.0.M1</version>
    </dependency>
</dependencies>
dependencies {
    compile 'org.springframework.kafka:spring-kafka:1.0.0.M1'
}

此外,还提供了 spring-kafka-test 构件,其中包含测试支持,包括嵌入式 Kafka 代理、hamcrest Matchers 等。

这两个构件都可以在 repo.spring.io/milestone 仓库中找到。

有关更多信息,请参阅 里程碑 1 参考手册

非常感谢 Soby Chacko (启动了最初的 Spring Integration Kafka 扩展)、Marius BogoeviciArtem Bilan 在这个重要项目上的帮助。

# 下一步

  • 基于 spring-kafkaspring-integration-kafka (2.0) 的第一个里程碑版本
  • Spring Boot 启动器,支持自动配置等。
  • spring-cloud-stream 的新 Binder 实现
  • 完善文档,设置项目页面等。

与此同时,您可以在 github 仓库 中关注进展、报告问题等。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有