天天看點

Spring Batch 之 架構流程簡單介紹(二)

Spring Batch流程介紹:

Spring Batch 之 架構流程簡單介紹(二)

上圖描繪了Spring Batch的執行過程。說明如下:

    每個Batch都會包含一個Job。Job就像一個容器,這個容器裡裝了若幹Step,Batch中實際幹活的也就是這些Step,至于Step幹什麼活,無外乎讀取資料,處理資料,然後将這些資料存儲起來(ItemReader用來讀取資料,ItemProcessor用來處理資料,ItemWriter用來寫資料) 。JobLauncher用來啟動Job,JobRepository是上述處理提供的一種持久化機制,它為JobLauncher,Job,和Step執行個體提供CRUD操作。

    外部控制器調用JobLauncher啟動一個Job,Job調用自己的Step去實作對資料的操作,Step處理完成後,再将處理結果一步步傳回給上一層,這就是Batch處理實作的一個簡單流程。

Step執行過程:

Spring Batch 之 架構流程簡單介紹(二)

  從DB或是檔案中取出資料的時候,read()操作每次隻讀取一條記錄,之後将讀取的這條資料傳遞給processor(item)處理,架構将重複做這兩步操作,直到讀取記錄的件數達到batch配置資訊中”commin-interval”設定值的時候,就會調用一次write操作。然後再重複上圖的處理,直到處理完所有的資料。當這個Step的工作完成以後,或是跳到其他Step,或是結束處理。

      這就是一個SpringBatch的基本工作流程。

      下次,将通過“Hello World”執行個體,與大家共同探讨SpringBatch的具體應用和實作。

繼續閱讀