领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多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 与现有的 Scala 和 Groovy 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
才接受它;transformer
在 payload
前面加上 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 会议。