Spring Batch 5.0.0-M4 現已推出!

版本發布 | Mahmoud Ben Hassine | 2022 年 7 月 20 日 | ...

我謹代表團隊以及所有貢獻者,很高興地宣布 Spring Batch 5.0.0-M4 現在可從我們的 里程碑儲存庫 取得。

這個第四個里程碑引入了對 Java Records 支援的幾項改進。它還包含許多增強功能、錯誤修復、依賴項升級和文件更新。 有關所有變更的更多詳細資訊,請參閱發布說明

Java Records 支援改進

在 v4.3 中首次引入對 Java records 作為 chunk-oriented step 中的項目的支援,但由於 v4 以 Java 8 為基準,因此該支援受到限制。 在 Java 8 中,records 甚至還沒有預覽版。最初的支援基於反射技巧來建立 Java records 並使用資料填充它們,而無法存取 java.lang.Record API,該 API 已在 Java 16 中完成。

現在 v5 以 Java 17 為基準,我們透過在框架的不同部分利用 java.lang.Record API 改進了 Spring Batch 中的 records 支援。 例如,FlatFileItemReaderBuilder 現在能夠偵測項目的類型是 record 還是常規 class,並相應地配置對應的 FieldSetMapper 實作 (records 使用 RecordFieldSetMapper,常規 classes 使用 BeanWrapperFieldSetMapper)。 這裡的目標是使所需 FieldSetMapper 類型的配置對使用者來說是透明的FlatFileItemWriterBuilder 中也實作了相同的功能,以便根據項目的類型配置 RecordFieldExtractorBeanWrapperFieldExtractor

錯誤修復

有些錯誤無法在不引入重大變更的情況下修復。 我們藉此主要版本發布的機會來修復此類錯誤。 在這個里程碑中,修復了以下主要錯誤

  • 在 classpath 中沒有 spring-tx 的情況下無法讀取 XML 資料 #4132
  • 使用 chaining StepBuilder 時遺失交易屬性 #3686
  • 新增 StepExecutionListener 後未正確註冊 ItemReadListener #773
  • 無法繼承 final class com.sun.proxy.$Proxy202 #793
  • StepBuilderFactory 僅支援 Listener Annotations,而不支援 Listener Interfaces #1098

這不是一份詳盡的清單。 請參閱發布說明,以取得在此里程碑中修復的完整錯誤清單。

依賴項升級

主要依賴項已升級至以下版本

  • 升級至 Spring Framework 6.0.0-M5
  • 升級至 Spring Data 2022.0.0-M5
  • 升級至 Spring Integration 6.0.0-M4
  • 升級至 Spring AMQP 3.0.0-M3
  • 升級至 Spring for Apache Kafka 3.0.0-M5
  • 升級至 Micrometer 1.10.0-M3
  • 升級至 Hibernate 6.1.1.Final

回饋

我要感謝所有對此版本做出貢獻的貢獻者! 在我們繼續開發 Spring Batch 5 時,我們期待您在 GithubTwitterStackOverflow 上的回饋。


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

取得 Spring 電子報

透過 Spring 電子報保持聯繫

訂閱

領先一步

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

了解更多

取得支援

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

了解更多

即將舉辦的活動

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

查看全部