搶先一步
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 Milestone Repository 取得。
您可以在 參考手冊和原始碼中找到更多資訊,但讓我們針對主要功能進行說明。
概念
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 Endpoints。 我們稱它們為 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
會被filter
.
Spring Integration Java DSL 可以按原樣用於現有的應用程式中,並且可以使用現有的 Messaging Annotations 組態或 Spring Integration XML 組態進行連接,當然也可以在 Spring Boot 應用程式中使用。
請參閱上面提到的參考手冊以獲取更多資訊。
總結
這僅僅是個開始,我們正在努力尋找合適的解決方案,以使用類似的流暢 API 和 Lambdas 來配置特定於協定的适配器。 請隨時分享您的想法和回饋:Spring Forum、StackOverflow (spring-integration
標籤)、Spring JIRA。
網路研討會:Spring Integration 4.0
不要錯過由 Gary Russell 示範 Spring Integration 4.0 中新功能的網路研討會!
SpringOne 2GX 2014 即將到來
立即預訂您在 德克薩斯州達拉斯舉行的 SpringOne 的位置,時間為 9 月 8 日至 11 日。 這是第一手了解所有正在發生的事情並提供直接回饋的最佳機會。 預計今年將發布許多重要的新公告。 我們預計將展示多個深入的 Spring-Integration 會議。