Spring Integration Java DSL 里程碑 1 釋出

釋出 | Artem Bilan | 2014 年 05 月 08 日 | ...

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 與現有的 ScalaGroovy 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”時才接受它;
  • transformerpayload 前面加上“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 會話。

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有