領先一步
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 核心元件的現有實踐。為了實現方法鏈原則,我們提供了一組構建器及其工廠。此外,Java 8 的Lambda表示式也為簡潔的語法提供了一些額外的輔助。
基礎知識
核心類是 IntegrationFlows - IntegrationFlowBuilder 的工廠,它應該從 @Bean 定義方法中使用,透過方法鏈和作為引數的Lambda表示式來填充 IntegrationFlow Bean。IntegrationFlowBuilder 提供了許多過載方法來配置整合端點。我們稱它們為EIP 方法。以下是標準示例:
@Bean
public IntegrationFlow helloWorldFlow() {
return IntegrationFlows.from("helloWorldInput")
.filter("World"::equals)
.transform("Hello "::concat)
.handle(System.out::println)
.get();
}
用 Spring Integration 的術語來說,上述示例的描述是:
Message 被髮送到“helloWorldInput”通道;filter 僅當其 payload 是字串“World”時才接受它;transformer 在 payload 前面加上“Hello ”;handler 將結果列印到標準輸出;payload 不是“World”,我們在控制檯中將看不到任何內容 - Message 被filter.
Spring Integration Java DSL 可以按原樣用於現有應用程式,並且可以與現有的訊息註解配置或 Spring Integration XML 配置進行整合,當然,也可以用於 Spring Boot 應用程式。
有關更多資訊,請參閱上面提到的參考手冊。
總結
這只是一個開始,我們正在努力為使用類似的流暢 API 和 Lambda 表示式配置特定協議介面卡提供合適的解決方案。請隨時分享您的想法和反饋:Spring 論壇、StackOverflow (spring-integration 標籤)、Spring JIRA。
網路研討會:Spring Integration 4.0
不要錯過由 Gary Russell 主持的關於 Spring Integration 4.0 新功能的 網路研討會!
SpringOne 2GX 2014 即將到來
請儘快預訂您在 SpringOne(德克薩斯州達拉斯)(9 月 8-11 日)的席位。這是瞭解所有最新動態並提供直接反饋的最佳機會。今年預計將有許多重要的公告。我們預計將會有多個深入的 Spring Integration 會話。