領先一步
VMware 提供培訓和認證,以加速您的進度。
瞭解更多今天我們很高興宣布 Spring Batch 3.0 的最終里程碑版本(下載)。此版本展示了我們對 JSR-352 的支持,目前支持其所有必需的功能。我們還為現有的 Spring Batch 用戶添加了許多新功能。Spring Batch 是一個輕量級、全面的框架,用於開發穩健的批次應用程式。
作為 Spring Batch 3.0.0 版本的最終里程碑,此版本的所有主要功能都已完成。此版本的主要功能包括
Spring 在我們對此規範的貢獻中投入了大量時間和資源。 我們通過 JCP、JSR-352 與其他行業專家合作,驗證了 Spring Batch 在過去六年來在無數生產環境中實施和經過實戰測試的批次模式,是構建企業中任務關鍵型批次應用程式的最佳方法。
3.0.0.M3 是 Spring Batch 的第一個符合 JSR-352 的版本,它通過了所有 152 個 SE TCK 測試。 Spring Batch 的 JSR-352 實作允許使用者使用熟悉的 Spring Batch 元件,並且仍然符合 Java 標準。 Spring Batch 支援透過基於 JSR-352 的 XML 配置作業、使用 JSR 中定義的注入方法注入針對 javax.batch.* 介面開發的批次工件(Spring 的依賴注入、batch.xml 和內聯配置),以及 JSR-352 中提供的所有可擴展性選項(分割和通過線程進行分區)。
我們實作的目標很簡單:遵循 JSR 的規則,而不違反 Spring Batch 已經定義的規則。 換句話說,實作規範而不影響現有的 Spring Batch 使用者。 我們通過提供兩種實作批次作業的「路徑」來做到這一點。 第一種是傳統的 Spring Batch 方式。 使用 Spring Batch XML 或 Spring 的 Java 配置,針對 Spring Batch 介面進行開發等。這不會作為 3.0 版本的一部分進行更改。 第二個「路徑」是 JSR 路徑。 這種開發方法使用 JSR-352 定義的 XML 模式來配置您的作業,使用 JSR 的 JobOperator
來啟動作業和管理元資料,並且開發人員針對 JSR 的 API 撰寫程式碼。 重要的是要注意,這兩個是截然不同的路徑。 雖然使用 Spring Batch 元件適用於基於 JSR-352 的作業,但它們在這些上下文中的使用將由 JSR 的規則決定。 這方面的一個範例是注入 JSR-352 中定義的上下文(StepContext
和 JobContext
)。 如果使用傳統的 Spring Batch 方法配置作業,並通過常規的 Spring Batch 元件啟動作業,則這些上下文將無法用於批次工件。 但是,如果您通過 JSR-352 XML 配置作業並通過 JSR-352 JobOperator
啟動作業,則這些上下文將在適當的地方注入。
重要的是要指出,Spring Batch 不僅僅是實作 JSR-352。 它在許多方面遠遠超出了規範
ItemReader
實作、16 種 ItemWriter
實作以及許多其他元件,這些元件在生產環境中經過多年的測試。Spring 將繼續參與 JSR-352 的發展,因為它會經過維護修訂,並期待進一步為 JCP 流程做出貢獻。
幾年來,Spring Batch Integration 一直是 Spring Batch Admin 的一個鮮為人知的子專案。 然而,鑑於此程式庫提供的功能的強大性及其在企業開發中的實用性,我們決定將其從 Spring Batch Admin 的保護傘下移至 Spring Batch 的保護傘下。 Spring Batch Integration 旨在提供橋接批次和整合處理的有用元件,提供多種啟動和縮放批次應用程式的選項。 功能包括
ItemProcessor
邏輯,將 Future
傳回給 ItemWriter
。 Future
傳回後,結果會被寫入。JobLaunchingMessageHandler
/JobLaunchingMessageGateway
- 提供通過經由通道接收的 Spring Messages 啟動作業的能力。ItemProcessor
邏輯的能力。這些元件使 Spring Batch 應用程式能夠在許多企業中無縫整合和擴展。
作為我們保持依賴項更新的一部分,我們已更新 Spring Batch 及其各種模組以支援 Spring 4。 由於這些更新,Spring 4 將成為 Spring Batch 3.0.0.M3 的最低支援版本。 這不僅帶來了 Spring 4 中發現的眾多新功能,還提供了立即在 Java 8 上運行的能力。
除了上述大型新功能外,我們還添加了一些較小的功能並繼續修復錯誤。 我們添加的新功能包括新增 JobScope
和支援 SQLite。
還剩下什麼? 當我們接近我們的發布候選版本時,還有一些小工作要做。 我們仍在仔細研究 Spring Batch 的依賴項,並希望盡可能多地升級。
3.0.0.M3 標誌著 Spring Batch 的一個重要里程碑。 它允許開發人員測試基於 JSR-352 的功能,同時仍然擁有 Spring 和 Spring Batch 的基礎作為依賴。 它還為框架帶來了新功能。 我們期待您在論壇、社群媒體和親自提供的意見和回饋!