1
我正在處理一個具有CSV格式的大文件,我已經使用拆分來打破CSV。下面是示例文件格式:駱駝文件拆分和聚合
**Item1,Item2,Item3,Item4
Item1,Item5,Item7,Item2**
這是我的路由信息:
<route>
<from uri="file://Data/groupedDocs?preMove=staging&delete=false" />
<split streaming="true" parallelProcessing="true">
<tokenize token="\n" group="1" />
<to uri="bean:groupProcessor" />
</split>
<log message="File Sent!!!"/>
</route>
在上面的代碼中,我的groupProcessor
正在處理從CSV文件中的各個行。
問題是,如何知道是否所有記錄都已處理?可能有10或100條記錄。我看到了聚合器模式,但問題是我不想聚合,即我沒有讀取所有記錄並將它們轉儲到文件中。我正在爲CSV文件中的每一行創建一個新文件。 CSV文件中的某些行也可能會生成錯誤,因此對於出錯的條目,我不會創建任何新文件。例如。在CSV文件中,我有10行,其中2個拋出一些異常,因此我必須將這2個記錄爲例外,併爲其餘條目生成8個文件。最後,我還需要保持生成和出錯的新文件的數量。任何人都可以在這裏幫忙嗎?
看到我的這個答案駱駝聚合策略http://stackoverflow.com/questions/26346772/camel-aggregation-strategy/26348903#26348903 – Namphibian