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

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

Hi Antoine 

I think we need to let the user close the iterator or the input stream when he 
finish the process.

Closing the stream in exchange.onCompletion could cause some trouble if we just 
route the message to other system which is not part of camel route,  As the 
exchange onCompletion is called when the route processes the exchange. we may 
hit the same issue as we meet in CAMEL-7415.

Regards,

Willem

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

Reply via email to