領先一步
VMware 提供培訓和認證,以加速您的進度。
了解更多今天我們很高興宣布 Spring Batch 3.0 的發布。 此版本的 Spring Batch 提供了對 JSR-352 的支援 - 我們致力於提供該支援,以及為我們現有的 Spring Batch 社群提供許多新功能。
此版本的主要功能包括
JSR-352 提供了 JEE7 中最重要的新功能之一,它將批次處理標準化引入 Java 堆疊。 Spring 團隊不僅透過專家小組中的兩名團隊成員為該規範提供了廣泛的投入,而且 Spring Batch 也成為大多數程式設計模型的靈感來源。 Spring Batch 3.0 透過提供最經過生產測試的程式碼庫來實現此規範,延續了 Spring 對 JSR-352 的承諾。
重要的是要注意 JSR-352 和 Spring Batch 之間的差異。 JSR-352 提供了三件事
JSR-352 不提供任何批次元件的實作。 Spring Batch 提供了 17 個讀取器、16 個寫入器以及無數其他實用程式和擴充功能,這些功能已經在企業生產環境中經過多年的測試。 Spring Batch 提供了超出單一 JVM 的擴充性選項。 最後,Spring Batch 透過 Spring for Apache Hadoop 專案以及作為 Spring XD 的基石,提供大數據支援。
要閱讀更多關於 Spring Batch 的 JSR-352 實作,請造訪我們的參考文件:https://spring-docs.dev.org.tw/spring-batch/trunk/reference/html/jsr-352.html
從外部看來,很難確定何時使用 Spring Batch 以及何時使用 Spring Integration。 說實話,並非總是有一個明確的二選一答案。 在許多情況下,這兩種技術的結合是提供穩健、可擴充解決方案的最佳選擇。 這就是開發 Spring Batch Integration 的原因。 作為 Spring Batch 擴充功能的集合,此模組允許開發人員使用 Spring Integration 來擴展 Spring Batch 的功能。 透過此模組,無需自訂程式碼和最少的配置即可提供諸如多 JVM 擴充性和訊息驅動的 Job 啟動之類的功能。
Spring Batch Integration 中提供的功能擴展了批次處理,使其超越了 JSR-352 所提供的功能,以提供穩健的企業級解決方案。 您可以在參考文件中閱讀更多關於 Spring Batch Integration 及其元件的資訊:https://spring-docs.dev.org.tw/spring-batch/trunk/reference/html/springBatchIntegration.html。
作為 Spring 產品組合中的一項持續努力,Spring Batch 第三方依賴項已更新。 這允許 Spring Batch 的使用者使用他們信任的最新和最棒的 Spring Batch 函式庫。
由於 HSQLDB 能夠輕鬆建立記憶體內資料庫,因此大多數整合測試情境都使用 HSQLDB 作為資料來源。 但是,有時一個簡單的單一檔案選項會更好。 因此,我們已將 SQLite 作為 Spring Batch 儲存庫的支援資料庫新增。
Spring Batch 提供了兩個自訂 Bean Scope。 第一個 Step Scope 已經存在多年,作為一種延遲 Bean 初始化,直到執行該 Bean 使用的 Step 為止。 透過 Spring Batch 3.0,我們新增了 Job Scope。 這將允許延遲初始化 Job 層級元件(例如 JobExecutionListeners),以及提供諸如 Job 參數注入到這些元件的功能。 您可以在參考手冊中閱讀更多關於 Job Scope 的資訊:https://spring-docs.dev.org.tw/spring-batch/trunk/reference/html/configureStep.html#job-scope。
Spring Batch 傳統上提供了一個範例 Maven 專案,作為引導 Spring Batch 專案的一種方式。 透過 Spring Boot,我們移除了這些專案,轉而使用 Spring Boot 提供的動態引導功能。 我們相信 Boot 提供了比舊的 "archetypes" 更好的選擇。
最後,此版本是 Spring Batch 首次從 Maven 轉移到 Gradle 作為內部建置系統的版本。 此變更對使用 jars 的開發人員沒有任何影響。 它們仍然可以透過 Maven Central 提供給 Maven 使用者。
透過此版本,我們期待規劃和開發我們的 3.1 版本。 3.1 版本將有兩個主要主題:簡化和支援 Spring XD 的工作。
對於簡化方面,我們希望將 Spring Batch 的可用性提高到可以考慮用於不太 "重" 的流程的程度。 透過專注於此處,它允許開發人員 "成長" 解決方案。 許多時候,一些事情最初是簡單的腳本,並演變成企業需要依賴的任務關鍵型功能。 我們希望 Spring Batch 在腳本階段就能被考慮,以便在該功能需要企業級解決方案時,它已經存在。
除了核心 Spring Batch 功能之外,Spring Batch 還是 Spring XD 的核心技術。 我們將繼續擴展 Spring Batch 的功能,以透過 Spring XD 和 Spring for Apache Hadoop 支援大數據解決方案。
3.0.0 代表 Spring Batch 下一個主要里程碑的完成。 它將 JSR-352 提供的標準帶給我們的社群,並為進階使用者提供了詳盡的附加功能集合。 我們期待您在論壇、社群媒體以及在 SpringOne2GX 親自提供的回饋!