The file: endpoint supports what you want. Set as below and on failure it will move the file to the .error directory. You can also use simple language to make it more dynamic and move to anywhere you want.
&moveFailed=.error -----Original Message----- From: Jonathan Cook [mailto:jonathan.c...@erars.plus.com] Sent: Friday, May 17, 2019 1:04 PM To: users@camel.apache.org Subject: Strategy for deleting/moving files [[ SEI WARNING *** This email was sent from an external source. Do not open attachments or click on links from unknown or suspicious senders. *** ]] Hello, I am using the file endpoint with delete=true. My routes pick up files from a directory and then pass through a number of steps, so are reasonably complex. I have a dead letter route where in the event of an error I want to move the original file to a kind of failed directory area. But the problem is that when an error occurs, by the time the code runs inside the dead letter route, the original file has already been deleted by the FileComponent because of delete=true. If I set this to false it works OK but the file stays at the original folder which I don't want. Do I have to manage this myself, i.e not use delete=true and have another step in my route (bean or processor) which would delete or move the file from the original directory at the end of all the processing rather than rely on the file component? Thanks for any suggestions! Paul