It looks like you need to set the option waitForTaskToComplete=Alway or waitForTaskToComplete=IfReplyExpected to make sure the Seda component doesn't hand over the completions. I think current Camel feature just make sure the file isn't deleted until the file is processed.
-- Willem Jiang Red Hat, Inc. FuseSource is now part of Red Hat Web: http://www.fusesource.com | http://www.redhat.com Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) (English) http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: 姜宁willem On Friday, February 22, 2013 at 1:12 AM, Bilgin Ibryam wrote: > Hi, > > I have a route where I consume from a file endpoint and put them in VM > endpoint, so that another camel route from different camel app can process > it a little later asynchronously. > > The file endpoint has move=processed for removing the processed files, but > even the exchanges are delivered to VM endpoint, the exchange is not > considered completed, so the original file stays locked and cannot process > other files before I start the second camel application and process the > exchanges from VM endpoint. > > SEDA has waitForTaskToComplete option, which controls whether the caller > should wait for the async task to complete or not before continuing. But > even when waitForTaskToComplete=Never is set, the completions are handed > over to VM queue, so it is not possible to complete the exchange. > > Is there a way to complete the exchange when it is put in VM queue? Or > there is a possibility for extending SEDA component with additional option > for not handling over the completions when waitForTaskToComplete=Never is > set? > > WDYT > Bilgin