Spring Cloud Stream Chelsea.RC1 发布

发布 | Marius Bogoevici | 2017 年 3 月 16 日 | ...

我很高兴代表团队宣布 Spring Cloud Stream Chelsea.RC1 发布。Spring Cloud Stream Chelsea.RC1 已在 Spring Milestone 仓库中可用,其功能详细描述请参见参考文档。有关构建制品和更改的完整列表,请查阅发布说明

有什么新内容?

以下是新版本带来的主要新功能和改进摘要

StreamListener 中添加了分发功能

我们添加了对根据基于 SpEL 的条件将消息分发到注册在输入通道上的多个 @StreamListener 方法的支持。这使得编写消息驱动的微服务更加灵活,尤其适用于 DDD/ES/CQRS 场景,其中不同类型的事件可以直接分发到其处理方法。

@EnableBinding(Sink.class)
@EnableAutoConfiguration
public static class {

    @StreamListener(target = Sink.INPUT, condition = "headers['type']=='customer'")
    public void handleCustomerEvent(@Payload CustomerEvent customerEvent) {
       // handle the message
    }

    @StreamListener(target = Sink.INPUT, condition = "headers['type']=='order'")
    public void handleOrderEvent(@Payload OrderEvent orderEvent) {
       // handle the message
    }
}

指标

Spring Cloud Stream 添加了一个额外的模块,可以在专用通道上导出 Spring Boot 指标。您现在可以通过简单地将该模块添加到 classpath 并提供目标目的地来从您的应用程序收集指标,具体描述参见参考文档。默认情况下,该模块导出 Spring Integration 指标(包括绑定通道指标),但也可以添加其他指标。这使得 Spring Cloud Stream 应用程序中的流量监控得到了第一类支持。

Schema 改进:搜索和缓存

Schema 支持的新功能包括 schema 搜索和客户端级别缓存,后者为序列化支持带来了显著的性能改进。

RabbitMQ 自定义基础设施支持

RabbitMQ 绑定器现在支持自定义目的地类型及其属性,包括支持 Direct Exchanges 和消息的 TTL 设置。

Provisioning SPI

从该版本开始,Spring Cloud Stream 引入了一个新的 provisioning SPI,它抽象了目标 Broker 上目的地(topics, exchanges, queue)的创建和配置。这使得绑定器的基础设施管理和消息传递方面能够更好地分离关注点。

接下来是什么?

在接下来的几周内,我们将专注于错误修复和文档/示例改进,为 GA 版本做准备。

除此之外,以下是我们未来路线图中的几个规划项目

  • 在 Chelsea.RELEASE 之后:发布一些配套集成(不属于发布火车,但已与核心支持集成,目标是在未来纳入发布火车)

  • 未来的 Chelsea 服务版本中:改进错误处理和 DLQ 管理;

我们还计划开始开发 Spring Cloud Stream 2,支持 Spring 5 和 Spring Integration 5。

致谢

感谢所有参与者的支持。特别要感谢通过提交问题或提供补丁为本次发布做出贡献的社区成员

一如既往,欢迎所有贡献,社区支持是我们成功的基石!您可以通过GitHubStack OverflowGitterTwitter(标签 #Stream 或 #SpringCloudStream)与我们保持联系。

最后但同样重要的是,一系列由社区为社区举办的 Spring 活动即将举办,就在您附近

抢票或提交演讲议题

订阅 Spring 时事通讯

通过 Spring 时事通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您飞速提升。

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部