You use the moveFailed option on the file component which means it handles the failures and mark the Exchange is completed.
On Fri, Nov 26, 2010 at 3:31 PM, Bengt Rodehav <be...@rodehav.com> wrote: > I'm currently implementing a message history store. I use onCompletion to > trigger when to store message details in my store. One piece of critical > information is whether the exchange was successful or not. To determine this > I call the isFailed() method on the exchange but this never seem to evaluate > to true. > > My route looks like this: > > * >> from("file:in?move=archive/${date:now:yyyyMMdd}/${file:name}&moveFailed=failed/${file:name.noext}-${date:now:yyyyMMddHHmmssSSS}.${file:ext}") >> * > > * .onCompletion()* > > * .process(new FileHistoryProcessor())* > > * .end()* > > * .to("file:out");* > > > and the process method of the FileHistoryProcessor class looks like this: > > *public void process(Exchange theExchange) throws Exception {* > > * if(theExchange.isFailed()) {* > > * // I never get here* > > * }* > > * else {* > > * // I always get here* > > * }* > > *}* > > > If I force an exchange to fail by changing my route to > "....to("file:G:/out") (I don't have a G:), the route fails and the file is > moved to the "failed" folder but *theExchange.isFailed()* is still false. > > Have I misunderstood the meaning of isFailed()? If so, how can I detect, in > my onCompletion processor, whether the exchange successfuly passed through > my route or not? > > I use Camel 2.5.0. > > /Bengt > -- Claus Ibsen ----------------- FuseSource Email: cib...@fusesource.com Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/