Spring Integration Java DSL 里程碑 1 釋出

釋出 | Artem Bilan | 2014 年 5 月 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 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 才接受它;
  • transformerpayload 前面加上 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 會議。

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

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

瞭解更多

獲得支援

Tanzu Spring 在一個簡單的訂閱中為 OpenJDK™、Spring 和 Apache Tomcat® 提供支援和二進位制檔案。

瞭解更多

即將舉行的活動

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

檢視全部