Hi Brad, as you suggested and I split big files into chunks of 1000 lines changing my route like this:
<route id="cr-cbikit-1"> <from uri="{{uri.inbound}}?scheduler=quartz2&scheduler.cron={{poll.consumer.scheduler}}&scheduler.triggerId=FileRetriever&scheduler.triggerGroup=IF_CBIKIT{{uri.inbound.options}}" /> <split streaming="true" parallelProcessing="false" > <tokenize token="\r" group="1000" regex="true"/> <to uri="activemq:queue:Cbikit.Key" /> </split> </route> <route id="cr-cbikit-2"> <from uri="activemq:queue:Cbikit.Key?destination.consumer.prefetchSize=1" /> <split streaming="true"> <tokenize token="\r" /> <to uri="sedaQueue:queue.ReadyToProcess?blockWhenFull=true" /> </split> </route> <route id="cr-cbikit-3"> <from uri="sedaQueue:queue.ReadyToProcess?concurrentConsumers=3" /> process.... </route> This works fine! Memory Usage and Processing Time are very good. But, I found a problem: Second route doesn't work when token is equal to \r. When I log a message that contains 1000 lines I see line\rline2\rline3\r...line999 The split works when token is \\r. Why? The file affected by this issue is a csv. Thanks a lot again for your support. Best regards Michele -- View this message in context: http://camel.465427.n5.nabble.com/Best-Strategy-to-process-a-large-number-of-rows-in-File-tp5779856p5781750.html Sent from the Camel - Users mailing list archive at Nabble.com.