簡體   English   中英

每個資源的Spring Batch MultiResourceItemReader塊提交

[英]Spring Batch MultiResourceItemReader Chunk Commit Per Resource

我目前有一個執行以下任務的Spring Batch作業:

  1. 使用委托給FlatFileItemReader的MultiResourceItemReader讀取csv文件列表。
  2. 將每個文件拆分為多個塊,並將每個塊作為JMS消息寫入,每個消息均包含塊中的行列表以及JSON格式的基礎資源的文件名。

我想要的是每個塊僅包含來自單個文件資源的行,以便JMS消息上的文件名將鏈接到相應的文件。

問題是,當完成一個文件資源的處理時,閱讀器將繼續處理下一個資源,這意味着將多個資源文件中的行插入到同一塊中,並且filename屬性不一定與該文件中的基礎數據匹配。塊。

有什么干凈的方法可以防止閱讀器在同一塊中包含來自單獨文件資源的行?

編輯:我相信解決方案將需要使用自定義塊完成策略,以某種方式確定當前正在讀取的項是否來自與上一行相同的資源,但不確定這樣做是否可行。 有什么想法嗎?。

我將實現更改為使用MultiResourcePartitioner為每個文件創建一個分區步驟,現在一切正常。

暫無
暫無

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

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