取得先機
VMware 提供培訓和認證,助力您加速前行。
瞭解更多我代表團隊以及所有貢獻者高興地宣佈,Spring Batch 5.2 的第一個里程碑版本現已從我們的里程碑倉庫中釋出。這篇部落格文章將帶您瞭解 Spring Batch 5.2 中的主要變化。
RecursiveCollectionLineAggregator
中可配置的行分隔符有關完整的更改列表,請檢視釋出說明。
在此版本中,Spring 依賴項已升級到以下版本
直到 5.1 版本,JPA 遊標和分頁 Item Reader 都不支援查詢提示(例如 fetch size、timeout 等)。使用者需要提供自定義查詢提供程式來指定自定義提示。
在此版本中,JPA Item Reader 及其各自的構建器已更新,以在定義要使用的 JPA 查詢時接受查詢提示。
此版本在 JDBC 遊標和分頁 Item Reader 的構建器中引入了一個新方法,允許使用者在 Item 型別為資料類(Java record 或 Kotlin 資料類)時指定 DataClassRowMapper
。
名為 dataRowMapper(TargetType.class)
的新方法類似於 beanRowMapper(TargetType.class)
,旨在使常規類 (Java beans) 和資料類 (Java records) 之間的行對映器配置保持一致。
到目前為止,RecursiveCollectionLineAggregator
中的行分隔符屬性一直設定為系統的行分隔符值。雖然可以透過系統屬性更改此值,但這種配置方式與批處理構件的其他屬性不一致。
此版本在 RecursiveCollectionLineAggregator
中引入了一個新的 setter 方法,允許使用者配置自定義的行分隔符值,而無需使用系統屬性。
在 5.1 版本中,批處理基礎設施 bean 的預設配置已更新,透過在應用程式上下文中定義 JobRegistryBeanPostProcessor
bean 來自動填充作業登錄檔。最近 Spring Framework 更新了 BeanPostProcessorChecker
中的日誌級別後,典型的 Spring Batch 應用程式中記錄了幾個與 JobRegistryBeanPostProcessor
相關的警告。這些警告是由於 JobRegistryBeanPostProcessor
bean 對 JobRegistry
bean 存在依賴,這是不推薦的,可能會導致 bean 生命週期問題。
這些問題在此版本中已得到解決,透過將填充 JobRegistry
的機制從使用 BeanPostProcessor
更改為使用 SmartInitializingSingleton
。JobRegistryBeanPostProcessor
現已棄用,取而代之的是新新增的 JobRegistrySmartInitializingSingleton
。
我要感謝所有為本次釋出做出貢獻的人們!Spring Batch 5.2.0-M1 與 Spring Boot 3.4.0-M3 一起釋出。
我們期待您在 Github Issues、Github Discussions、Twitter 和 StackOverflow 上提供反饋。