Could you also do the following? from(...)......to("vm:name").process(new Processor() { public void process(Exchange exchange) { exchange.getUnitOfWork().done(); } });
On Tue, Aug 6, 2013 at 7:11 AM, Scott Parkerson <sc...@parkerson.net> wrote: > Bilgin, > > Thank you -- that's what I expected, so I'll give using a JMS queue a try. > > --sgp > > > On Mon, Aug 5, 2013 at 2:45 PM, Bilgin Ibryam <bibr...@gmail.com> wrote: > > > Hi, > > The file component uses onCompletion for moving files after the exchange > > has completed. As long as the completions are passed with the exchange > the > > files wont move. The VM component passes the completions to the next > camel > > context so the files are not moved... You have to use a queue or > something > > like wiretap to stop completions. > > > > HTH > > Bilgin > > > > Sent from mobile > > On 5 Aug 2013 18:07, "Scott Parkerson" <sc...@parkerson.net> wrote: > > > > > Hi, fellow Camel riders. > > > > > > I was wondering where Camel's notion of UnitOfWork begins and ends with > > > respect to processing a route or set of routes. > > > > > > For example, I have a route that starts with a SFTP poller that > consumes > > > files off of a server. The contents of these files are then handed to > > > another route via the direct component, which is responsible for > > filtering > > > and routing the data to other processors that are on multiple camel > > > contexts. As such, I have been using the vm component to pass that data > > to > > > the appropriate processing route. > > > > > > What's strange is that it seems like the files are not marked as > > processed > > > (i.e. the original SFTP component does not move the files to the > > processed > > > directory until the message is completely handled by the second route. > > This > > > is a problem because the second route actually splits and aggregates > data > > > in the file, and, as such, the data may not be released from the > > aggregator > > > until later. Furthermore, the SFTP connection in the body may not be > > valid > > > anymore, and even if it is, it seems like splitting the data also > splits > > > the notion that that data came from a SFTP consumer, which makes lots > of > > > stack traces. > > > > > > What I want to know is: how can I make sure that the file on the SFTP > > > server is marked processed before it goes off to the handling route? > Do I > > > need to send the data to a file or an JMS/ActiveMQ queue first? > > > > > > Thanks, > > > Scott Parkerson > > > > > > -- *Christian Posta* http://www.christianposta.com/blog twitter: @christianposta