Why don't you have append as Claus suggested but include a bean at the end
of the route which deletes the file? You don't need to then change the uri
configuration or any looping.

On Wed, Aug 31, 2016 at 7:23 PM, Goyal, Arpit [via Camel] <
ml-node+s465427n5787068...@n5.nabble.com> wrote:

> Hi Clause,
>
> The problem is -- First time execution creates the file and in loop
> appends the data. Now the process ends and file is available at SFTP
> folder. Second time execution, it will again append resulting to business
> logic failure, as file should be created fresh - and user might give FIXED
> name of the file.
>
> What I want is during execution, first time SFTP Endpoint should have
> fileExist=Override and when the loop gets triggered, change the SFTP
> property fileExist to APPEND.
>
> I was looking something like -- during the loop, MyProcessor can either
> change the configuration of SFTP Endpoint or set a header which SFTP
> Endpoint honors above the URI options provided.
>
>         Approach 1:  camelContext.getEndpoint("<some-id-of-sftp-endpoint>",
> SftpEndpoint.class).setFileExists(GenericFileExists.APPEND)
>         Approach 2: in.setHeader("fileExists", GenericFileExists.APPEND);
>
> Regards,
> Arpit.
>
> -----Original Message-----
> From: Claus Ibsen [mailto:[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=5787068&i=0>]
> Sent: Wednesday, August 31, 2016 12:35 AM
> To: [hidden email] <http:///user/SendEmail.jtp?type=node&node=5787068&i=1>
> Subject: Re: First time create SFTP File and then Append to same in loop.
>
> Can you not just use fileExists=Append always so the data is always
> appended if the file exists?
>
>
> On Wed, Aug 31, 2016 at 2:46 AM, Goyal, Arpit <[hidden email]
> <http:///user/SendEmail.jtp?type=node&node=5787068&i=2>> wrote:
>
> > Hi Colleagues,
> >
> > We have the following route:
> >
> > from("xxx:inbound").process(new MyProcessor()).choice(when(
> header("record_count").isGreaterThan(0)).to("sftp://
> xyx[?options]").to("xxx:inbound").otherwise(new MyEndProcessor())
> >
> > It is a simple loop condition using choice where one branch process data
> and send to SFTP server and then loop back where else other branch would
> end the process.
> >
> > Question: In FIRST SFTP write we want the FILE to be created. When
> second call comes, then we want APPEND to happen. How can we achieve this?
> Was searching for some header where I can toggle the value of 'fileExists'.
> >
> > Can I change end point configuration using some custom bean? Please
> help.
> >
> > Regards,
> > Arpit.
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://camel.465427.n5.nabble.com/First-time-create-SFTP-
> File-and-then-Append-to-same-in-loop-tp5787016p5787068.html
> To start a new topic under Camel - Users, email
> ml-node+s465427n465428...@n5.nabble.com
> To unsubscribe from Camel - Users, click here
> <http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=465428&code=c291Y2lhbmNlLmVxZGFtLnJhc2h0aUBnbWFpbC5jb218NDY1NDI4fDE1MzI5MTE2NTY=>
> .
> NAML
> <http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: 
http://camel.465427.n5.nabble.com/First-time-create-SFTP-File-and-then-Append-to-same-in-loop-tp5787016p5787084.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to