You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2014/05/24 11:45:02 UTC

[jira] [Resolved] (CAMEL-7415) lazyLoad with CSV blows up on last line

     [ https://issues.apache.org/jira/browse/CAMEL-7415?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Willem Jiang resolved CAMEL-7415.
---------------------------------

       Resolution: Fixed
    Fix Version/s: 2.14.0

Applied the patch into master, camel-2.12.x and camel-2.13.x branches.

> lazyLoad with CSV blows up on last line
> ---------------------------------------
>
>                 Key: CAMEL-7415
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7415
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-csv
>    Affects Versions: 2.12.3, 2.13.0
>            Reporter: Willem Jiang
>            Assignee: Willem Jiang
>             Fix For: 2.12.4, 2.13.2, 2.14.0
>
>
> {code}
> CsvDataFormat csv = new CsvDataFormat() 
> csv.setDelimiter(' ') 
> csv.setSkipFirstLine(false) 
> csv.setLazyLoad(true) 
> CamelContext camelContext = new DefaultCamelContext() 
> camelContext.addRoutes(new RouteBuilder() { 
> def void configure() { 
> from('direct:start') 
> .unmarshal(csv) 
> .split(body()).streaming() 
> .log('row: ${body}') 
> } 
> }) 
> camelContext.start() 
> ProducerTemplate t = camelContext.createProducerTemplate() 
> t.sendBody('direct:start', new File('/Users/timbo/data/test.txt')) 
> camelContext.stop() 
> {code}
> Here is the exception when camel try to access the last line of the file.
> {code}
> java.lang.IllegalStateException: java.io.IOException: Stream closed 
> at 
> org.apache.camel.dataformat.csv.CsvIterator.next(CsvIterator.java:61) 
> at 
> org.apache.camel.processor.Splitter$SplitterIterable$1.next(Splitter.java:170) 
> at 
> org.apache.camel.processor.Splitter$SplitterIterable$1.next(Splitter.java:146) 
> at 
> org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:502) 
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)