我正在处理一个案例,我必须将CSV文件转换为另一个使用自定义格式的CSV,其中我使用的是bindy组件,而且它的注释很好,
MyRoute:
final DataFormat inputCSV = new BindyCsvDataFormat(InputCSV.class);
final DataFormat outputCSV = new BindyCsvDataFormat(OutputCSV.class);
from("file:inbox/inputFile?fileName=inputProducts.csv&noop=true")
.split().tokenize("\n", 500)
.unmarshal(inputCSV)
.bean(Processor.class, "processCSV")
.marshal(outputCSV)
.to("file:inbox/outputFile?fileExist=append&fileName=outProduct.csv");
}
我每次都会得到不同的输出
Input CSV file contain 3000 row
1)它不断重复数据,产生7000+行
2)如果我将块大小800作为21行,100行和随机行重复行。
3)如果我做1000块大小它不起作用,没有什么是hpn。
4)我不知道它是如何运作的Thread.sleep(5000) more time more repeating row
。
5)在每个块之后,它生成标题,我想生成一次。
我也尝试使用threads()和streaming()。
我的问题是为什么拆分块不能正常工作以及为什么一次又一次地读取数据?