Spring Integration 1.2 Release Candidate 1 的 Java DSL 可用了

發布 | Artem Bilan | 2016 年 9 月 27 日 | ...

親愛的 Spring 社群:

我很高興地宣布,Spring Integration 的 Java DSL 1.2 RC1 現在可用了。

自從之前的 Milestone 2 之後,我們收到了對於新功能的深度回饋,並且為了反映真實需求,修改了一些 API。

一如既往,非常感謝所有創建 issue、提出 Pull Request、提供回饋或僅僅是在 StackOverflow 上提問的每個人。

artifact org.springframework.integration:spring-integration-java-dsl:1.2.0.RC1 可以在 Milestone repo 中找到。所以,請盡情嘗試,並把握最後的機會在 GH issue 上提出任何回饋!

現在來說說 1.2 RC1 中的變更

Poller errorChannel

我們現在可以在 Poller 定義上指定 errorChannel。 以前我們必須配置整個單獨的 MessagePublishingErrorHandler

e -> e.poller(Pollers.fixedDelay(100)
     .errorChannel(filePollingErrorChannel())

取代原先的

@Bean
public ErrorHandler filePollingErrorHandler() {
    MessagePublishingErrorHandler errorHandler =
                               new MessagePublishingErrorHandler();
    errorHandler.setDefaultErrorChannel(filePollingErrorChannel());
    return errorHandler;
}
...
e -> e.poller(Pollers.fixedDelay(100)
    .errorHandler(filePollingErrorHandler())

在 Spring Integration Core 中導入了對 MessagePublishingErrorHandlerlate-binding 支援之後,使用 MessageChannel 的 bean 名稱將會更容易。

FileSplitter 改善

Files.splitter() 規格現在提供更多選項來配置底層的 FileSplitter

.split(Files.splitter()
    .markers(false)
    .applySequence(true)
    .charset("UTF-8"))

IntegrationFlowRegistration

手動流程註冊過程已經過一些改進

  • IntegrationFlowRegistrationBuilderIntegrationFlowContext.registration(IntegrationFlow) 返回,以便在註冊 IntegrationFlow bean 和所有相關元件期間提供更多選項;

  • IntegrationFlowRegistrationIntegrationFlowRegistrationBuilder.register() 呼叫的結果。 此物件提供了一些有用的 IntegrationFlow 屬性,並允許控制與其關聯的 IntegrationFlow 的生命週期;

  • 您現在可以新增額外的 bean 來註冊,這些 bean 是提供的 IntegrationFlow 所需的。 例如,Ftp.outboundAdapter() 需要 DefaultFtpSessionFactory。 它們會與它們關聯的 IntegrationFlow 一起銷毀並從 ApplicationContext 中移除。

    this.integrationFlowContext.registration(myFlow) .id("myFlow") .autoStartup(false) .addBean(new Foo()) .addBean("bar", new Bar()) .register();

請參閱 Gary Russell 令人驚嘆的關於動態 TCP 客戶端的 範例,以獲取更多資訊。

Apache Kafka 支援

我們決定放棄對 Apache Kafka 0.8.x 的支援 (Spring Integration for Apache Kafka 1.3.x),轉而支持 Apache Kafka 0.9.x0.10.x。 最近引入的 Kafka09 已被刪除,其內容已移至 Kafka 工廠。 現在,對該 matter 的依賴是 Spring Integration for Apache Kafka 2.1.x,基於 Spring for Apache Kafka 1.1.x 來提供 Apache Kafka 0.10.x。 同時,相同的 Kafka DSL 工廠和相關元件可以與類別路徑上的先前 Spring Integration for Apache Kafka 2.0.x 版本一起使用。

可以通過直接使用 Spring Integration for Apache Kafka 1.3.x 适配器來實現對 Apache Kafka 0.8.x 的支援。 或者,您可以簡單地將 org.springframework.integration.dsl.kafka 套件 從 Java DSL 1.1 複製/貼上到您的專案中,並繼續從 Kafka 工廠的流暢建構器 API 中獲益!

下一步

我們預計在大約一周內發布 1.2 版的一般可用性。 在那之後,spring-integration-java-dsl 肯定會轉移到 Spring Integration Core 5.0 和 Java 8 代碼庫。 目前的 1.2 版本仍將受到支援,但僅用於錯誤修復。

專案頁面 | 文件 | Issue | 幫助

取得 Spring 電子報

透過 Spring 電子報保持聯繫

訂閱

搶先一步

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

了解更多

取得支援

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

了解更多

即將舉行的活動

查看 Spring 社群中所有即將舉行的活動。

查看全部