Spring Batch 和 Spring Batch Admin 版本釋出

釋出 | Michael Minella | 2015年1月16日 | ...

我們很高興宣佈今天釋出了多個與 Spring Batch 相關的版本。Spring Batch 的一個錯誤修復版本、Spring Batch Admin 的一個錯誤修復版本以及 Spring Batch Admin 新版本的一個里程碑版本現已全部可用。

Spring Batch 3.0.3

Spring Batch 3.0.3 是 Spring Batch 最新的維護版本,解決了許多增強功能和小型錯誤。Spring Batch 3.0.3 中的新功能包括:

改進的 JSR-352 定製基礎設施支援

在此版本之前,覆蓋 Spring Batch 為 JSR-352 配置的作業提供的開箱即用基礎設施的唯一方法是在作業上下文中包含配置。這阻止了為真正共享的元件配置全域性覆蓋的能力。透過 3.0.3,您現在可以透過系統屬性指定 Spring 配置的位置,該屬性可以覆蓋現有的基礎設施。

分割槽結果的可選輪詢

在使用遠端分割槽時,主節點需要一種方法來接收從分割槽完成工作的通知。傳統上,這是透過每個從節點回復主節點,結果會被彙總,然後主節點會收到所有從節點已完成的通知來實現的。然而,這需要額外的配置,可能並非必需。由於分割槽作業中的從節點在主節點使用的同一作業倉庫中維護其狀態,主節點可以直接輪詢作業倉庫以檢視從節點是否已完成。此版本新增了配置 MessageChannelPartitionHandler 輪詢作業倉庫而不是等待響應訊息的功能。您可以在 MessageChannelPartitionHandler 的文件中閱讀有關此新功能配置的更多資訊。

這不是更新的完整列表,但突出了主要新功能。您可以在 Spring Batch 的 Jira 問題跟蹤器中準確檢視更改內容:https://jira.spring.io/browse/BATCH/

Spring Batch Admin

1.3.1

我們今天釋出的兩個 Spring Batch Admin 版本中的第一個是 Spring Batch Admin 1.3 系列的第一個維護版本。此版本解決了許多小型錯誤,其列表可以在 Jira 中找到:https://jira.spring.io/browse/BATCHADM/

2.0.0.M1

去年我在 SpringOne2GX 大會上收到的最大的問題是:“Spring Batch Admin 現在是什麼情況?” Spring Batch Admin 上次更新是在七月(去年 SpringOne2GX 大會前不久),但它算不上一次大的功能升級。它的釋出是為了更新依賴並解決一些錯誤。從那時起,我們一直在努力工作,更新了許多功能,以使 Spring Batch Admin 保持最新。今天,我們宣佈實現該目標的第一個里程碑版本。

JSR-352 支援

作為 2.0.0.M1 版本的一部分,Spring Batch Admin 現在將支援 JSR-352 配置的作業。按照規範要求,將基於 XML 的配置放置到 /META-INF/batch-jobs 目錄中,Spring Batch Admin 將載入該作業,使其可以透過 REST 端點和當前 UI 啟動。Spring Batch Admin 提供的所有監控功能(檢視執行、啟動/停止/重新啟動等)都可用。

Java 配置支援

隨著 Spring 社群從基於 XML 的配置轉向基於 Java 的配置,Spring Batch Admin 也在跟進。在此版本中,Spring Batch Admin 支援配置一個包來掃描基於 Java 配置的 Spring Batch 作業。與任何其他批處理作業一樣,這些作業將被載入並可供執行,就像其 XML 對應項一樣。

需要注意的是,雖然 Spring Batch Admin 現在支援基於 Java 的配置,但您不會想在其中使用 @EnableBatchProcessing。這是有原因的。@EnableBatchProcessing 提供了一系列基礎設施,這些基礎設施已由 Spring Batch Admin 開箱即用地提供。在 Spring Batch Admin 中使用 Java 配置來配置作業,其方式與您使用 @EnableBatchProcessing 完全相同...只是不使用該註解。您仍然可以像往常一樣自動注入 JobBuilderFactoryStepBuilderFactory

REST 端點更新

作為 Spring XD 團隊在其管理 UI 中所做工作的一部分,他們建立了一套全新的與批處理相關的 REST 端點。此版本將這些端點遷移到 Spring Batch Admin 中供所有人使用。在 /batch 路徑下有一系列提供與現有 REST API 類似功能的端點,然而功能更為強大。新 API 遵循 HATEOAS 原則,允許進行 API 發現和遍歷。雖然對 HATEOAS 的支援仍在進行中,但此版本展示了我們未來的發展方向。

Spring Batch Admin 的未來

像所有 Spring 專案一樣,我們盡一切合理可能努力保持向後相容性。正因為如此,Spring Batch Admin 2.0 正在進行一些重大更改,以便將來實現向後相容性。這些更改包括:移除“官方”UI,並廢棄舊版本的 REST API。此版本不包含任何這些更改。這些更改將在 Spring Batch Admin 2.0 正式釋出之前到來。我們希望在專案方向上保持開放和透明。

任何關注過去幾年 UI 領域變化速度的人都可以很快看出,選擇一個現代前端技術並能夠在可預見的未來保持向後相容性目前是不可能的。目前破壞性變更的速度實在太快。當我們將其納入我們提供相關領域最前沿工具的願望時,我們決定移除 UI 作為專案的正式組成部分。話雖如此,我們仍然明白客戶端是 Spring Batch Admin 帶來價值的重要組成部分。因此,我們計劃提供一系列示例專案,展示幾種不同的客戶端選項。這將使我們能夠在不影響向後相容性的前提下,獨立於核心框架/API 演進客戶端選項。

我們還將廢棄舊版本的 REST API。新 API 在 REST API 成熟度模型中向前邁進了一步,從基於 HTTP 的基本 CRUD 操作轉向支援真正的資源。雖然新的 REST 端點仍在開發中,但一旦功能完善,我們將廢棄舊的,以便將開發精力集中在新集合的改進和演進上。

未來方向

我們將繼續推進上述變更,並目前計劃在今年第二季度初發布另一個版本。我們對 Spring Batch Admin 的未來感到興奮,並期待您在 JiraGithubStackOverflow 和社交媒體上的反饋!

訂閱 Spring 時事通訊

透過 Spring 時事通訊保持聯絡

訂閱

領先一步

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

瞭解更多

獲取支援

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

瞭解更多

即將到來的活動

檢視 Spring 社群中的所有即將到來的活動。

檢視全部