Hi,

what should I do ?

Thanks

Jeff


2013/5/15 Jean Francois LE BESCONT <jflebesc...@gmail.com>

> Hey !
>
> A new option is available for the stream:file to close it when done
> (closeOnDone). This option is appeared in 2.11 after my jira (
> https://issues.apache.org/jira/browse/CAMEL-6147)
>
> File unlock (or released or closed) looks to doesn't works fine if last
> line is not passed to the endpoint
>
> Example :
>
> We have a CSV with X line. We want to write a part of it in a file
> out_1.csv and a second part in a file out_2.csv according to a business
> rule, in my example the rule is after two lines readed.
>
> An example is :
>
> from("file://C:/Temp/camel/rep1/?noop=true")
>     .log("start process file => ${file:name}")
>     .split()
>     .tokenize("\n")
>         .streaming()
>         .process(new Processor() {
>
>             public void process(Exchange exchange) throws Exception {
>                // After 2 lines, next lines are rejected via an exchange
> property
>                i++ ;
>                if( i  > 2)  {
>                    exchange.setProperty("FILE_1", true );
>                } else {
>                    exchange.setProperty("FILE_1", false);
>                }
>             }
>        })
>        .choice()
>        .when(property("FILE_1").isEqualTo(Boolean.TRUE))
>
>  .to("stream:file?fileName=C:/Temp/camel/rep1/out/out_1.csv&closeOnDone=true")
>        .when(property("FILE_2").isEqualTo(Boolean.TRUE))
>
> .to("stream:file?fileName=C:/Temp/camel/rep1/out/out_2.csv&closeOnDone=true")
>        .end()
>     .end()
> .log("end process file => ${file:name}")
> .end()
> ;
>
> It create two files, and out_1.csv is still locked.
>
> Should I update the jira or open a new ?
>
> Thanks
>
> Jeff
>
>

Reply via email to