Spring Batch流程介紹: 上圖描繪了Spring Batch的執行過程。說明如下: 每個Batch都會包含一個Job。Job就像一個容器,這個容器里裝了若幹Step,Batch中實際幹活的也就是這些Step,至於Step乾什麼活,無外乎讀取數據,處理數據,然後將這些數據存儲起來(ItemR ...
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執行過程:
從DB或是文件中取出數據的時候,read()操作每次只讀取一條記錄,之後將讀取的這條數據傳遞給processor(item)處理,框架將重覆做這兩步操作,直到讀取記錄的件數達到batch配置信息中”commin-interval”設定值的時候,就會調用一次write操作。然後再重覆上圖的處理,直到處理完所有的數據。當這個Step的工作完成以後,或是跳到其他Step,或是結束處理。
這就是一個SpringBatch的基本工作流程。
下次,將通過“Hello World”實例,與大家共同探討SpringBatch的具體應用和實現。
作者:孤旅者 出處:http://www.cnblogs.com/gulvzhe/ 如果本文使您有所收穫,請點擊右下角的 [推薦]!
如果您對本文有意見或者建議,歡迎留言,哪怕是拍磚(^_^)!
歡迎轉載,請註明出處!
感謝您的閱讀,請關註後續博客!