SpringBatch的封裝配置及其運用(結合spring scheduler進行排程)
阿新 • • 發佈:2018-11-05
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的配置可以自行百度。