领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我很高兴代表团队宣布 Spring Cloud Stream Chelsea.RC1 的发布。Spring Cloud Stream Chelsea.RC1 可在 Spring Milestone 仓库中使用,其功能的详细描述可在参考文档中找到。有关工件和完整更改列表的信息,请查阅发布说明。
以下是新版本带来的主要新功能和改进摘要
我们增加了对基于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绑定器现在支持自定义目的地类型及其属性,包括对直接交换机和消息TTL设置的支持。
从这个版本开始,Spring Cloud Stream引入了一个新的Provisioning SPI,它抽象了目标代理上目的地(主题、交换机、队列)的创建和配置。这使得基础设施管理和绑定器的消息传递方面能够更好地分离关注点。
在接下来的几周里,我们将专注于错误修复和文档/示例改进,为GA版本做准备。
除此之外,我们未来的路线图还包括以下几项内容:
在Chelsea.RELEASE之后:发布一些配套集成(不属于发布列车,但与核心支持集成,目标是将来纳入发布列车)
JMS绑定器,原生支持Active MQ;
升级Google Pub Sub绑定器的客户端库;
基于现有概念验证的Reactive Streams绑定器;
基于现有概念验证的Kafka Streams绑定器;
在未来的Chelsea服务版本中:错误处理和DLQ管理方面的改进;
我们还计划开始Spring Cloud Stream 2的工作,以支持Spring 5和Spring Integration 5。
我要感谢所有参与者的支持。特别是,我要特别感谢通过提出问题或提供补丁为本次发布做出贡献的社区成员:
Donovan Muller (@donovanmuller)
Nicholas Byl (@nbyl)
Maxim Kirilov (@maximkir)
唐睿 (@tangrui)
Jose A. Iñigo (@codependent)
Dennis Melzer (@sirwayne)
Wallace Wadge (@wwadge)
Barry Commins (@barrycommins)
Reda Alaoui(@reda-alaoui)
一如既往,欢迎所有贡献,社区支持是我们成功的基石!您可以通过GitHub、Stack Overflow、Gitter或Twitter(标签#Stream或#SpringCloudStream)与我们保持联系。
最后但同样重要的是,一系列由社区为社区举办的Spring活动即将举行,就在您附近:
抢购门票或提交演讲!