Spring Integration Java DSL 里程碑 1 發布

發布 | Artem Bilan | 2014 年 5 月 8 日 | ...

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 與現有的 ScalaGroovy 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 ForumStackOverflow (spring-integration 標籤)、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 社群中所有即將舉行的活動。

查看全部