我想开发一个轮询包含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");
Run Code Online (Sandbox Code Playgroud)
环境是:Eclipse Indigo,Maven 3.0.3,Camel 2.8.0
谢谢
Cla*_*sen 31
如果您使用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");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14548 次 |
| 最近记录: |