領先一步
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 會議。