![](/img/trans.png)
[英]Java Spring Batch - Resource file is not injected into the tasklet
[英]Writing to a file in Tasklet step in Spring batch
我的要求是在批處理執行后將所有錯誤記錄寫入文件。 應用程序將所有錯誤記錄存儲在Map中,最后需要將其寫入文件中。 完成批處理核心步驟后,我將此任務稱為下一步。 有沒有更好的方法可以將記錄寫入Tasklet中? 而不是傳統的FileStreamWriter? 可以在tasklet中使用FileItemWriter嗎?
這實際上取決於您如何存儲記錄。 如果將它們寫入List
,則可以使用基於塊的步驟,並使用ListItemReader
和常規的FlatFileItemWriter
作為編寫器。
如果為空,可能是在批處理期間寫入錯誤文件,而在下一步將其刪除的更好方法?
我目前未使用SB,但我認為您也可以使用FlatFileItemWriter
作為錯誤的偵聽器,並設置shouldDeleteIfEmpty
屬性以使SB自動刪除文件。
此解決方案的唯一缺點是:
FlatFileItemWriter
注冊為流,以便在塊提交期間讓SB正確打開/關閉
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.