camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Willem Jiang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-7415) lazyLoad with CSV blows up on last line
Date Tue, 06 May 2014 06:59:15 GMT

    [ https://issues.apache.org/jira/browse/CAMEL-7415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13990360#comment-13990360
] 

Willem Jiang commented on CAMEL-7415:
-------------------------------------

This issue is caused by the UnmarshalProcessor always wants to close the inputstream even
the marshalled object is iterator.
The input stream can be closed by the iterator, so leave the input stream if the result object
is iterator solve the issue.

> 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.1
>
>
> {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)

Mime
View raw message