深入研究Spring Batch,我想知道我們?nèi)绾卧贘ob的不同步驟之間共享數(shù)據(jù)?我們可以使用JobRepository嗎?如果是,我們?cè)撛趺醋觯窟€有其他方法可以做到/實(shí)現(xiàn)嗎?
3 回答

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