When maximumReconnectAttempts > 0 on the endpoint, both camel-ftp consumers and producers retry connecting to an unavailable FTP server twice as much as the number of maximumReconnectAttempts. It is because of the following logic in RemoteFileConsumer.prePollCheck() and RemoteFileProducer.preWriteCheck():
where recoverableConnectIfNecessary() retries RemoteFileOperations.connect() once in case of initial connection failure.
Digging into the commit history, this logic appears to be introduced due to
CAMEL-2829 as a workaround. However, since the root cause NET-327 is already resolved the logic doesn't seem to be necessary any more. So probably we can remove the logic to avoid attempting reconnects twice as much as maximumReconnectAttempts.