宣布 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 之前告诉我们的所有信息(例如,Function 映射到 Processor,默认目标名称为“input”和“output”)。

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

在接下来的几周里,我们将更新 函数式支持 文档,提供更多详细信息。

Kafka Streams 中的函数式支持

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

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

后续步骤

我们计划在下一个里程碑版本中引入的一项重要功能是支持具有多个输入和输出的函数,这将在单独的博文中进行介绍。

与往常一样,我们欢迎您的反馈和贡献,因此请通过 Stack OverflowGitHub 以及 Gitter 与我们联系。

获取 Spring 时事通讯

通过 Spring 时事通讯保持联系

订阅

领先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部