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指标。现在,您只需在类路径中添加该模块并提供目标目的地,即可从应用程序中收集指标,具体请参阅参考文档。默认情况下,该模块会导出Spring Integration指标(包括绑定通道指标),但也可以添加其他指标。这为Spring Cloud Stream应用程序中的流量监控提供了第一类支持。

模式改进:搜索和缓存

模式支持的新功能包括模式搜索和客户端级别缓存,后者显著提高了序列化支持的性能。

RabbitMQ自定义基础设施支持

RabbitMQ绑定器现在支持自定义目的地类型及其属性,包括对直接交换机和消息TTL设置的支持。

Provisioning SPI

从这个版本开始,Spring Cloud Stream引入了一个新的Provisioning SPI,它抽象了目标代理上目的地(主题、交换机、队列)的创建和配置。这使得基础设施管理和绑定器的消息传递方面能够更好地分离关注点。

下一步是什么?

在接下来的几周里,我们将专注于错误修复和文档/示例改进,为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 社区所有即将举行的活动。

查看所有