发布 Spring Cloud Stream Horsham.M3 (3.0.0.M3)

工程 | Oleg Zhurakousky | 2019 年 8 月 19 日 | ...

我们很高兴地宣布 Spring Cloud Stream Horsham.M3 (3.0.0.M3) 的第三个里程碑版本。

注意:Spring Cloud Stream 3.0.0.M1/M2 主要是为了建立与 Spring Boot 2.2.x 的兼容性,因此未发布公告。

Spring Cloud Stream Horsham.M3 (3.0.0.M3) 模块可在 Spring Milestone 存储库中使用。

快速亮点

  • Spring Boot 2.2.x
  • Spring Cloud Function 3.0.0.M2

此里程碑的主要功能和增强

强调函数式编程模型

虽然我们尚未弃用 @StreamListener 和/或 @EnableBinding,但我们正在朝着更简单、更自然的自动配置驱动的编程模型发展。

@SpringBootApplication
public class MyApplicationConfiguration {

    @Bean
    public Function<String, String> uppercase() {
        return value -> value.toUpperCase();
    }
}

以上是一个完全正常运行的 spring-cloud-stream 应用程序。请注意缺少 @StreamListener@EnableBinding。事实上,它是一个在 spring-cloud-stream 上下文中引导的 Function(因为它位于类路径中),有效地告诉我们之前 @StreamListener@EnableBinding 告诉我们的所有信息(例如,函数映射到 Processor,默认目标名称为“input”和“output”)。

注意:spring-cloud-function 中的一项改进是,我们不再自动将非响应式函数转换为响应式函数。这意味着您的命令式函数将像任何其他消息处理程序(例如,StreamListener)一样连接,而响应式函数将以与 spring-cloud-stream-reactive 模块上的响应式监听器相同的方式连接(更多信息将在另一篇博客中介绍),从而为您提供更大的灵活性。

在接下来的几周内,我们将更新 Functional Support 文档,其中包含更多详细信息。

Kafka Streams 中的函数式支持

Kafka Streams 绑定器现在支持一流的基于函数的编程模型,您可以使用该模型基于 java.util.function 支持编写 Kafka Streams 应用程序。这进一步减少了应用程序需要编写的样板代码,并允许开发人员专注于手头的业务逻辑。有关更多详细信息,请访问 函数式风格 部分以了解更多详细信息。我们计划再写一篇专门的文章介绍所有新功能。

其他 功能、增强和错误修复

下一步

我们计划在下一个里程碑中引入的一个重要功能是支持具有多个输入和输出的函数,届时将有单独的博客介绍。

与往常一样,我们欢迎反馈和贡献,因此请通过 StackoverflowGitHub 和/或 Gitter 与我们联系

获取 Spring 新闻通讯

订阅 Spring 新闻通讯,保持联系

订阅

抢占先机

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

了解更多

获得支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

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

查看全部