The FTP consumer will by default leave the
consumed files untouched on the remote FTP server. You have to configure it explicitly if
you want it to delete the files or move them to another location. For example, you can use
delete=true to delete the files, or use
move=.done to move the
files into a hidden done subdirectory.
The regular File consumer is different as it will
(by default) move files to a
.camel sub directory. The reason Camel does
not do this by default for the FTP consumer is that it
may lack permissions by default to be able to move or delete files.
The option readLock can be used to force Camel not to consume files that is currently in the progress of being written. However, this option is turned off by default, as it requires that the user has write access. There are only a few options supported for FTP. There are other solutions to avoid consuming files that are currently being written over FTP; for instance, you can write the file to a temporary destination and move the file after it has been written.
When moving files using
preMove option the files
are restricted to the FTP_ROOT folder. That prevents you from moving files outside the FTP
area. If you want to move files to another area, you can use soft links and move files
into a soft linked folder.