Spring Batch 6.0.0-M3 和 5.2.3 已釋出!

版本釋出 | Mahmoud Ben Hassine | 2025年9月17日 | ...

我很高興代表團隊和所有貢獻者宣佈,Spring Batch 6.0.0-M35.2.3 現已在 Maven Central 上釋出!

5.2.3 版本是一個維護版本,包含多個錯誤修復和依賴項升級。您可以在釋出說明中找到完整的更改列表。

這篇博文主要介紹 6.0.0-M3 里程碑版本,它帶來了以下特性和改進

  • 新的併發模型
  • 能夠停止所有型別的步驟
  • 使用 Java Flight Recorder 進行可觀察性

有關完整的更改列表,請在此處檢視其釋出說明。

新的併發模型

在此版本之前,基於“並行迭代”概念的併發模型需要在不同級別進行大量狀態同步,並且在節流和反壓方面存在一些限制,這導致了混亂的事務語義和糟糕的效能。

此版本重新審視了該模型,並採用了一種基於生產者-消費者模式的新的、簡化的併發方法。併發的塊處理步驟現在在生產者執行緒和消費者執行緒之間使用一個有界內部佇列。一旦準備好處理,專案就會被放入佇列中,並且一旦專案可用於處理,消費者執行緒就會從佇列中取出專案。一旦塊準備好寫入,生產者執行緒就會暫停直到塊被寫入,然後恢復生產專案。

這個新模型效率更高,更容易理解,併為併發執行提供了更好的效能。

停止所有型別步驟的能力

截至v5.2,只能透過JobOperator#stop外部停止Tasklet步驟。如果自定義的Step實現想要處理外部停止訊號,它就不能。

此版本添加了一個名為StoppableStep的新介面,它擴充套件了Step,並且可以由任何能夠處理外部停止訊號的步驟實現。

使用 Java Flight Recorder 進行可觀測性

除了現有的 Micrometer 指標之外,Spring Batch 6.0 還引入了對 Java Flight Recorder (JFR) 的支援,以提供增強的可觀測性功能。

JFR 是 Java 虛擬機器中內建的強大分析工具。它允許您以最小的效能開銷捕獲有關應用程式執行時行為的詳細資訊。

此版本引入了多個 JFR 事件,用於監視批處理作業執行的關鍵方面,包括(但不限於)作業和步驟執行、專案讀寫以及事務邊界。

反饋

我要感謝在此版本中發揮作用的所有貢獻者!隨著我們繼續開發 Spring Batch 6,我們期待您在 Github IssuesGithub DiscussionsX 上提供反饋。


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

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

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

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

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

檢視所有