1. 程式人生 > >SpringBatch的封裝配置及其運用(結合spring scheduler進行排程)

SpringBatch的封裝配置及其運用(結合spring scheduler進行排程)

Spring Batch官網介紹:A lightweight, comprehensive batch framework designed to enable the development of robust batch applications vital for the daily operations of enterprise systems.(一款輕量的、全面的批處理框架,用於開發強大的日常運營的企業級批處理應用程式。)

框架主要有以下功能:

  • Transaction management(事務管理)
  • Chunk based processing(基於塊的處理)
  • Declarative I/O(宣告式的輸入輸出)
  • Start/Stop/Restart(啟動/停止/再啟動)
  • Retry/Skip(重試/跳過)

框架設計圖: 

框架一共有有4個主要角色:

(1)JobLauncher是任務啟動器,通過它來啟動任務。

(2)Job代表著一個具體的任務。

(3)Step代表著一個具體的步驟,一個Job可以包含多個Step。

(4)JobRepository是儲存資料的地方,可以看做是一個數據庫的介面,在任務執行的時候需要通過它來記錄任務狀態等等資訊,本文對其無使用。

    詳細不做介紹,應為springbatch只有一個批處理框架,所以本文帶大家瞭解如何通過spring scheduler 結合springBatch實現定時排程,貼程式碼。

首先新建一個tasklet繼承Tasklet介面(即一個step)

然後配置xml,把這個類註冊成一個bean並關聯到註冊好的step,再關聯到註冊好的job中。

接下來,自己封裝一個batchJobLauncher

 

之後把batchJobLauncher註冊為bean,並把裡面的屬性關聯之前註冊的job

最後整合spring scheduler,讓它定時去調執行器執行任務。

關於corn的配置可以自行百度。