簡體   English   中英

在Spring Batch的Tasklet步驟中寫入文件

[英]Writing to a file in Tasklet step in Spring batch

我的要求是在批處理執行后將所有錯誤記錄寫入文件。 應用程序將所有錯誤記錄存儲在Map中,最后需要將其寫入文件中。 完成批處理核心步驟后,我將此任務稱為下一步。 有沒有更好的方法可以將記錄寫入Tasklet中? 而不是傳統的FileStreamWriter? 可以在tasklet中使用FileItemWriter嗎?

這實際上取決於您如何存儲記錄。 如果將它們寫入List ,則可以使用基於塊的步驟,並使用ListItemReader和常規的FlatFileItemWriter作為編寫器。

如果為空,可能是在批處理期間寫入錯誤文件,而在下一步將其刪除的更好方法?

我目前未使用SB,但我認為您也可以使用FlatFileItemWriter作為錯誤的偵聽器,並設置shouldDeleteIfEmpty屬性以使SB自動刪除文件。
此解決方案的唯一缺點是:

  1. 要求您將FlatFileItemWriter注冊為流,以便在塊提交期間讓SB正確打開/關閉

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM