Try to copy file when rename fails
----------------------------------
Key: CAMEL-3793
URL: https://issues.apache.org/jira/browse/CAMEL-3793
Project: Camel
Issue Type: Improvement
Components: camel-core
Affects Versions: 2.6.0
Environment: Linux with NFS mounted directory pointing to a Windows
2008 Server shared directory
Reporter: Jean-Michel Morel
I have a setup where I use file component to move files after being processed
ou when processing fails.
As I have no troubles neither on my development workstation neither on local
directory on my linux environnement. It fails when the monitored directory is a
NFS mounted directory pointing to a Windows 2008 Server shared directory.
While it's not a camel bug, the generated logs are just useless because we
can't get the reason of failure.
Investigating the source code tells me that the File.renameTo method is used
(with the three times try hack for Windows ;), so I can't get any further
information on the reason.
Could you implement a fallback strategy like copy the file and delete the
original one ? (should it be made optional)
To workaround this, I currently do the move operations manually by invoking the
FileUtils.moveTo(...) from commons-io (which implements exactly the fallback
method I described on renameTo failure).
But, I have side effects as I'm forced to use the noop attribute.
(in fact, it doesn't explain why the rename fails, but it works, and should it
be a failure I'll get an explicit error message).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira