天天看點

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、所有存在的核心服務可以很容的被替換和擴充,不影響基礎層。

SpringBatch讀寫技術支援的資料源有資料庫和檔案.具體技術包括JDBC,hibernate,JPA,IBATIS,Flat file,XML等等.

 參考資料:Spring Batch In Action