Spring Integration Java DSL 里程碑 1 发布

发布 | Artem Bilan | 2014 年 5 月 08 日 | ...

Spring Integration 开发团队很高兴宣布发布 Spring Integration 的 Java DSL 扩展的第一个里程碑

Java DSL 的通用目的是为基于 EIP消息流提供流畅便捷的 API,并避免样板 Spring Integration 配置。

org.springframework.integration:spring-integration-java-dsl:1.0.0.M1 工件可从 Spring IO 里程碑仓库 获得。

您可以在 参考手册源代码 中找到更多信息,但是让我们阐明一些主要功能。

概念

Spring Integration Java DSL 与现有的 ScalaGroovy DSL 类似; 它也不类似于 Apache Camel Java DSL,尽管它确实实现了方法链原则。

我们的主要目标是重用 Spring Framework JavaConfig (@Configuration 类) 以及 Spring Integration Core 组件的现有实践。 为了实现方法链原则,我们提供了一组构建器及其工厂。 此外,Java 8 Lambdas 为简洁的语法提供了一些额外的帮助。

基础知识

中心类是 IntegrationFlows - IntegrationFlowBuilder 工厂 - 应从 @Bean 定义方法中使用它,以使用方法链和作为参数的 Lambdas 填充 IntegrationFlow bean。 IntegrationFlowBuilder 提供了许多重载方法来配置 Integration Endpoint。 我们称它们为 EIP-methods。 规范示例

@Bean
public IntegrationFlow helloWorldFlow() {
	return IntegrationFlows.from("helloWorldInput")
			.filter("World"::equals)
			.transform("Hello "::concat)
			.handle(System.out::println)
			.get();
}

使用 Spring Integration 术语,上述示例的描述是

  • Message 被发送到 "helloWorldInput" 通道;
  • 只有当它的 payload 是字符串 "World" 时,filter 才接受它;
  • transformerpayload 前面加上 Hello
  • handler 将结果打印到 STDOUT;
  • 如果原始 payload 不是 "World",我们不会在控制台中看到任何内容 - Message 被丢弃

过滤器.

Spring Integration Java DSL 可以按原样在现有应用程序中使用,并且可以使用现有的 Messaging Annotations 配置或 Spring Integration XML 配置进行连接,当然也可以在 Spring Boot 应用程序中使用。

有关更多信息,请参阅上面提到的参考手册。

总结

这仅仅是一个开始,我们正在努力寻找合适的解决方案,以使用类似的流畅 API 和 Lambdas 配置特定于协议的适配器。 请随时分享您的想法和反馈:Spring 论坛, StackOverflow (spring-integration tag), Spring JIRA.

网络研讨会:Spring Integration 4.0

不要错过与 Gary Russell网络研讨会,他将演示 Spring Integration 4.0 中的新功能!

SpringOne 2GX 2014 即将到来

尽快在 德克萨斯州达拉斯市的 SpringOne 预订您的位置,时间为 9 月 8-11 日。 这是直接了解所有进展并提供直接反馈的最佳机会。 预计今年将发布许多重要的新公告。 我们预计将展示一些深入的 Spring-Integration 会议。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看全部