Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-3793

Try to copy file when rename fails

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.6.0
    • 2.8.0
    • camel-core
    • None
    • Linux with NFS mounted directory pointing to a Windows 2008 Server shared directory

    Description

      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).

      Attachments

        Issue Links

          Activity

            People

              davsclaus Claus Ibsen
              jmmorel Jean-Michel Morel
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: