Camel:split()。tokenize(" \ r")。streaming()无法正常工作

时间:2016-01-12 07:42:14

标签: streaming apache-camel

我将使用驼峰(超过3M记录)处理巨大的csv文件。 这有效:

from("file:target/classes/data/")                                                                                                                                                                                                                     
            .convertBodyTo(String.class)                                                                                                                                                                                                                      
            .split().tokenize("\r").streaming()

这不是:

from("file:target/classes/data/")                                                                                                                                                                                                                     
            .split().tokenize("\r").streaming()

抛出:Caused by: java.nio.charset.MalformedInputException: Input length = 1

由于convertBodyTo(String.class)会浪费大量内存,我会避免这种情况。

是什么原因?

1 个答案:

答案 0 :(得分:0)

from(“ file:target / classes / data /”)
            .unmarshal()。string(“ UTF-8”)
            .split()。tokenize(“ \ r”)。streaming()

这对我有用。