【发布时间】:2016-09-23 09:32:12
【问题描述】:
我有一个大型 CSV 文件,我想以速率限制对其进行处理。 Splitter Pattern 提供了我正在寻找的东西,只是我不知道如何将它与 CSV Component 结合起来。
从拆分器文档中,您可以处理 CSV,例如:
from("file:inbox")
.split().tokenize("\n", 1000).streaming()
.to("activemq:queue:order");
但理想情况下,我想利用 Apache Camel CSV 组件来处理混搭,更像是:
from("file:inbox")
.unmarshal().csv().split()
.streaming().parallelProcessing()
.throttle(requestsPerSecond)
.bean(new ValidateProcess(), "validate")
.marshal().csv().to("file:outbox");
我知道上面的代码完全错误,但希望它传达了我想要实现的目标。这完全可行吗?
【问题讨论】:
-
您希望利用 csv() 数据格式的哪个方面?例如,您想使用它的能力将每一行解组为 Map 还是更喜欢列表?编组假定 Map 或 List
-
我想将每一行解组到
List<List<String>>
标签: java csv apache-camel splitter