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.