深入研究Spring Batch,我想知道我們?nèi)绾卧贘ob的不同步驟之間共享數(shù)據(jù)?我們可以使用JobRepository嗎?如果是,我們?cè)撛趺醋??還有其他方法可以做到/實(shí)現(xiàn)嗎?
3 回答
回首憶惘然
TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
我會(huì)說您有3種選擇:
使用
StepContext它并將其推廣到JobContext您并且可以從每個(gè)步驟訪問它,并且必須遵守所指出的大小限制創(chuàng)建
@JobScopebean并將數(shù)據(jù)添加到該bean,@Autowire并在需要的地方使用它(缺點(diǎn)是它是內(nèi)存結(jié)構(gòu),如果作業(yè)失敗,數(shù)據(jù)丟失,則可能會(huì)導(dǎo)致可重啟性問題)我們需要跨步驟處理更大的數(shù)據(jù)集(讀取csv中的每一行并寫入DB,從DB中讀取,聚合并發(fā)送給API),因此我們決定在與spring batch meta表相同的DB中對(duì)新表中的數(shù)據(jù)進(jìn)行建模,
ids進(jìn)入JobContext并在需要時(shí)進(jìn)行訪問,并在作業(yè)成功完成后刪除該臨時(shí)表。
- 3 回答
- 0 關(guān)注
- 1707 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
