領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多我謹代表團隊和所有貢獻者宣佈,Spring Batch 6.0.0-RC1 現已在 Maven Central 上釋出!
此候選版本包含以下特性和改進:
有關更改的完整列表,請檢視釋出說明。
Spring Batch 6.0 引入了對批處理作業優雅停機的支援。此功能允許您以受控方式停止正在執行的作業執行,確保中斷訊號正確傳送到正在執行的步驟。
當啟動優雅停機時,作業執行將停止當前活動的步驟,並使用一致的狀態更新作業儲存庫,從而實現可重啟性。一旦執行中的步驟完成,作業執行將被標記為已停止,並且將執行任何必要的清理操作。
類似於遠端分塊,本地分塊是一項新功能,它允許您在同一個 JVM 中使用多個執行緒在本地並行處理專案塊。當您有大量專案需要處理並希望利用多核處理器時,此功能特別有用。透過本地分塊,您可以配置一個面向分塊的步驟,使用多個執行緒併發處理專案塊。每個執行緒將獨立讀取、處理和寫入自己的專案塊,而該步驟將管理整體執行並提交結果。
在 Spring Batch 5.2 中,我們使用 BlockingQueueItemReader 和 BlockingQueueItemWriter 元件引入了使用本地執行緒進行 SEDA(分階段事件驅動架構)風格處理的概念。在此基礎上,Spring Batch 6.0 引入了使用 Spring Integration 訊息通道進行大規模 SEDA 風格處理的支援。這允許您解耦批處理作業的不同階段,並使用訊息通道非同步處理它們。透過利用 Spring Integration,您可以輕鬆配置和管理訊息通道,並利用訊息轉換、過濾和路由等功能。
Spring Batch 6.0 已升級以支援 Jackson 3.x 進行 JSON 處理。此升級確保了與 Jackson 庫中最新特性和改進的相容性,同時提供了更好的效能和安全性。Spring Batch 中所有與 JSON 相關的元件,例如 JsonItemReader 和 JsonFileItemWriter,以及 JacksonExecutionContextStringSerializer,都已更新為預設使用 Jackson 3.x。
對 Jackson 2.x 的支援已被棄用,並將在未來的版本中移除。如果您目前在 Spring Batch 應用程式中使用 Jackson 2.x,建議升級到 Jackson 3.x 以利用最新的特性和改進。
此版本引入了對遠端步驟執行的支援,允許您在遠端機器或叢集上執行批處理作業的步驟。此功能對於需要將工作負載分配到多個節點以提高效能和可伸縮性的大規模批處理場景特別有用。遠端步驟執行基於 Spring Integration 訊息通道,它實現了本地作業執行環境和遠端步驟執行器之間的通訊。
我要感謝在此版本中發揮作用的所有貢獻者!隨著我們繼續開發 Spring Batch 6,我們期待您在 Github Issues、Github Discussions 和 X 上提供反饋。