[
https://issues.apache.org/jira/browse/CAMEL-9152?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen closed CAMEL-9152.
------------------------------
> Camel streaming component doesn't close a stream when last exchange is not
> passed to the endpoint
> -------------------------------------------------------------------------------------------------
>
> Key: CAMEL-9152
> URL: https://issues.apache.org/jira/browse/CAMEL-9152
> Project: Camel
> Issue Type: Bug
> Components: camel-stream
> Affects Versions: 2.14.1
> Reporter: Bohdan Zhezlo
> Assignee: Claus Ibsen
>
> Here is sample test which reproduces the problem:
> {code:java}
> route.from("direct:foo")
> .split().tokenize("\n").streaming()
> .choice()
> .when(body().isEqualTo(9))
> .stop()
> .otherwise()
> .to("stream:file?fileName=streaming.txt&closeOnDone=true")
> .endChoice();
> @Produce(uri = "direct:foo")
> protected ProducerTemplate template;
> StringBuilder builder = new StringBuilder();
> for(int i = 0; i < 10; i++) {
> builder.append(i);
> builder.append("\n");
> }
> template.sendBody(builder.toString());
> File file = new File("streaming.txt");
> boolean exists = file.exists();
> boolean deleted = file.delete();
> {code}
> After running sample test 'deleted' will be false and file is present on file
> system, which indicates that the file stream was not closed.
> If I modify condition in the route so that no exchanges get skipped (or if I
> skip any exchange except the last one) then file is successfully deleted.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)