跑批利器--SpringBatch
在上篇文章中我們知道批處理應用程式的要求,當然,具體實現的方式有很多,小到指令碼和自己寫個批量,大到專業的批量處理系統.那麼如何選擇一個合適的一個呢?SpringBatch可以作為眾多選擇中一個不錯的選擇.
根據相關資料介紹,我們可以對SpringBatch進行一個整體瞭解.
Spring Batch是一個輕量級的、完善的批處理框架,旨在幫助企業建立健壯、高效的批處理應用。SpringBatch是Spring的一個子專案,使用Java語言並基於Spring框架為基礎開發,使的已經使用 Spring框架的開發者或者企業更容易訪問和利用企業服務。
Spring Batch供了大量可重用的元件,包括了日誌、追蹤、事務、任務作業統計、任務重啟、跳過、重複、資源管理。對於大資料量和高效能的批處理任務,Spring Batch同樣提供了高階功能和特性來支援,比如分割槽功能、遠端功能。總之,通過 Spring Batch 能夠支援簡單的、複雜的和大資料量的批處理作業。
需要注意的是Spring Batch是一個批處理應用框架,不是排程框架,但需要和排程框架合作來構建完成的批處理任務。它只關注批處理任務相關的問題,如事務、併發、監控、執行等,並不提供相應的排程功能。如果需要使用呼叫框架,在商業軟體和開源軟體中已經有很多優秀的企業級排程框架(如Quartz、TCron 等)可以使用。
SpringBatch主要特點:
基於Spring框架基礎;面向批量處理; 豐富讀寫元件;健壯性和可靠性.
SpringBatch技術目標:
1、利用Spring程式設計模型:使程式設計師專注於業務處理,讓Spring框架管理流程。
2、明確分離批處理的執行環境和應用。
3、提供核心的,共通的介面。
4、提供開箱即用(outof the box)的簡單的預設的核心執行介面。
5、提供Spring框架中配置、自定義、和擴充套件服務。
6、所有存在的核心服務可以很容的被替換和擴充套件,不影響基礎層。
7、提供一個簡單的部署模式,利用Maven構建獨立的Jar檔案。
通過SpringBatch,讀者可以直接從最佳實踐中受益。同時也受益於許多現成的元件.SpringBatch讀寫技術支援的資料來源包括資料庫,和檔案.具體技術包括JDBC,Hibernate,JPA,IBATIS,Flat file,XML等等.
參考資料:Spring Batch In Action