SpringBatch 配置Job之二

2021-07-27 22:27:13 字數 2804 閱讀 6637

step scope

step scope時springbatch框架提供的自定義的scope,將springbean定義為step scope,支援springbean在step開始的時候初始化,在step結束的時候銷毀springbean,將

springbean的生命週期與step繫結。

在springbatch框架中,step scope會自動被註冊到spring上下文中,如果沒有使用spring的配置檔案,需要顯示的宣告step scope。

"csvitemreader"

class="org.springframework.batch.item.file.flatfileitemreader"

scope="step">

......

通過屬性scope=」step」來定義csvitemreader的生命週期和step繫結

執行job

springbatch 框架提供了一組執行job的介面。包括joblauncher、jobexplorer和joboperator三個操作job的介面。

joblauncher 是最常用的作業排程器,通過給定的job name 和job parameters 可以執行job;

jobexplorer 主要負責從jobrepository中獲取執行的資訊,包括獲取作業例項、獲取作業執行器、獲取作惡步執行器、獲取正在執行的作業執行器、獲取作業列表等操作;

joboperator 包含了joblauncher和jobexplorer中的大部分操作。

排程作業

通過joblauncher來排程作業

// 排程作業

joblauncher launcher = (joblauncher) context.getbean("joblauncher");

job job = (job) context.getbean("billjob");

try catch (exception e)

joblauncher支援對作業的同步、非同步兩種呼叫模式。

同步非同步

配置非同步呼叫的joblauncher只需要增加屬性taskexecutor,該屬性表示當前執行的執行緒池。

job與外界系統在實際的job使用場景中,標準web應用、定時任務排程器、命令列等都可能觸發不同的job操作。

與定時任務整合

springbatch提供了job的執行能力,其本身不是乙個定時排程框架,因此可以將定時排程框架和springbatch結合起來完成定時作業。spring本身提供了乙個輕量級的排程框架spring scheduler。

}與web應用整合springbatch框架基於spring開發,可以方便的內嵌在web應用中使用,這樣批處理作業可以通過http協議進行遠端的訪問。同樣可以在web應用中內嵌定時任務處理框架,方便在web應用內部通過定時框架呼叫springbatch中定義的job。

Spring Batch的配置檔案解讀

用來校驗工作引數 job parameters 可以實現jobparametersvalidator介面。如果無法通過驗證,會丟擲jobparametersinvalidexception異常。spring batch提供了乙個預設的實現類defaultjobparametersvalidator,...

Spring Batch系列總括

最近乙個專案在使用springbatch框架做乙個電子商務平台的批處理。網上資料很有限,尤其是中文資料更是少之又少,官網上的文件也只是講一些入門的基礎知識,大部分高階特性都是一筆帶過,講解的很不徹底,在實際開發中碰到的問題很多。因此,特將自己學習 應用spring batch的過程總結成乙個個小例項...

springbatch操作XML檔案

一 需求分析 使用spring batch對xml檔案進行讀寫操作 從乙個xml檔案中讀取商品資訊,經過簡單的處理,寫入另外乙個xml檔案中.二 實現 1.結構圖 base package 掃瞄spring註解 joblauncher 啟動job jobrepository 為job提供持久化操作 ...