gpt4 book ai didi

apache-camel - 在 Apache Camel 中处理大型 CSV 文件的最佳策略

转载 作者:行者123 更新时间:2023-12-03 21:14:07 26 4
gpt4 key购买 nike

我想开发一个轮询包含 CSV 文件的目录的路由,对于每个文件,它使用 Bindy 解码每一行并将其排在 activemq 中。

问题是文件可能非常大(一百万行),所以我更愿意一次排队一行,但我得到的是 Bindy 末尾的 java.util.ArrayList 中的所有行,这导致内存问题。

到目前为止,我进行了一些测试,解码工作正常,因此使用注释的 Bindy 配置是可以的。

这是路线:

from("file://data/inbox?noop=true&maxMessagesPerPoll=1&delay=5000")
.unmarshal()
.bindy(BindyType.Csv, "com.ess.myapp.core")
.to("jms:rawTraffic");

环境为:Eclipse Indigo、Maven 3.0.3、Camel 2.8.0

谢谢

最佳答案

如果您使用 Splitter EIP,那么您可以使用流模式,这意味着 Camel 将逐行处理文件。

from("file://data/inbox?noop=true&maxMessagesPerPoll=1&delay=5000")
.split(body().tokenize("\n")).streaming()
.unmarshal().bindy(BindyType.Csv, "com.ess.myapp.core")
.to("jms:rawTraffic");

关于apache-camel - 在 Apache Camel 中处理大型 CSV 文件的最佳策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8122748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com