Spring Batch 5.2.0-M1 釋出了!

釋出 | Mahmoud Ben Hassine | 2024 年 9 月 18 日 | ...

我代表團隊以及所有貢獻者高興地宣佈,Spring Batch 5.2 的第一個里程碑版本現已從我們的里程碑倉庫中釋出。這篇部落格文章將帶您瞭解 Spring Batch 5.2 中的主要變化。

  • 依賴升級
  • JPA Item Reader 支援查詢提示
  • JDBC Item Reader 支援資料類
  • RecursiveCollectionLineAggregator 中可配置的行分隔符
  • 作業註冊改進

有關完整的更改列表,請檢視釋出說明

依賴升級

在此版本中,Spring 依賴項已升級到以下版本

  • Spring Framework: 6.2.0-RC1
  • Spring Retry: 2.0.9
  • Micrometer: 1.14.0-M3
  • Spring Integration: 6.4.0-M3
  • Spring AMQP: 3.2.0-M3
  • Spring Kafka: 3.3.0-M3
  • Spring Data: 3.4.0-M1
  • Spring Ldap: 3.2.6

JPA Item Reader 支援查詢提示

直到 5.1 版本,JPA 遊標和分頁 Item Reader 都不支援查詢提示(例如 fetch size、timeout 等)。使用者需要提供自定義查詢提供程式來指定自定義提示。

在此版本中,JPA Item Reader 及其各自的構建器已更新,以在定義要使用的 JPA 查詢時接受查詢提示。

JDBC Item Reader 支援資料類

此版本在 JDBC 遊標和分頁 Item Reader 的構建器中引入了一個新方法,允許使用者在 Item 型別為資料類(Java record 或 Kotlin 資料類)時指定 DataClassRowMapper

名為 dataRowMapper(TargetType.class) 的新方法類似於 beanRowMapper(TargetType.class),旨在使常規類 (Java beans) 和資料類 (Java records) 之間的行對映器配置保持一致。

RecursiveCollectionLineAggregator 中可配置的行分隔符

到目前為止,RecursiveCollectionLineAggregator 中的行分隔符屬性一直設定為系統的行分隔符值。雖然可以透過系統屬性更改此值,但這種配置方式與批處理構件的其他屬性不一致。

此版本在 RecursiveCollectionLineAggregator 中引入了一個新的 setter 方法,允許使用者配置自定義的行分隔符值,而無需使用系統屬性。

作業註冊改進

在 5.1 版本中,批處理基礎設施 bean 的預設配置已更新,透過在應用程式上下文中定義 JobRegistryBeanPostProcessor bean 來自動填充作業登錄檔。最近 Spring Framework 更新了 BeanPostProcessorChecker 中的日誌級別後,典型的 Spring Batch 應用程式中記錄了幾個與 JobRegistryBeanPostProcessor 相關的警告。這些警告是由於 JobRegistryBeanPostProcessor bean 對 JobRegistry bean 存在依賴,這是不推薦的,可能會導致 bean 生命週期問題。

這些問題在此版本中已得到解決,透過將填充 JobRegistry 的機制從使用 BeanPostProcessor 更改為使用 SmartInitializingSingletonJobRegistryBeanPostProcessor 現已棄用,取而代之的是新新增的 JobRegistrySmartInitializingSingleton

下一步是什麼?

我要感謝所有為本次釋出做出貢獻的人們!Spring Batch 5.2.0-M1 與 Spring Boot 3.4.0-M3 一起釋出。

我們期待您在 Github IssuesGithub DiscussionsTwitterStackOverflow 上提供反饋。

Spring Batch 主頁|Github 上的原始碼|參考文件

訂閱 Spring 電子報

訂閱 Spring 電子報,保持聯絡

訂閱

取得先機

VMware 提供培訓和認證,助力您加速前行。

瞭解更多

獲取支援

Tanzu Spring 透過一項簡單的訂閱,為 OpenJDK™、Spring 和 Apache Tomcat® 提供支援和二進位制檔案。

瞭解更多

近期活動

檢視 Spring 社群的所有近期活動。

檢視全部