Hi

That is because you do write to 2 files. The option was intended for
writing to the same file.




On Thu, May 16, 2013 at 7:43 AM, Jean Francois LE BESCONT
<jflebesc...@gmail.com> wrote:
> 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
>>
>>



-- 
Claus Ibsen
-----------------
www.camelone.org: The open source integration conference.

Red Hat, Inc.
FuseSource is now part of Red Hat
Email: cib...@redhat.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Reply via email to