Class RemoteFileConfiguration

java.lang.Object
org.apache.camel.component.file.GenericFileConfiguration
org.apache.camel.component.file.remote.RemoteFileConfiguration
Direct Known Subclasses:
FtpConfiguration, SftpConfiguration

public abstract class RemoteFileConfiguration extends org.apache.camel.component.file.GenericFileConfiguration
Configuration of the FTP server
  • Constructor Details

    • RemoteFileConfiguration

      protected RemoteFileConfiguration()
    • RemoteFileConfiguration

      protected RemoteFileConfiguration(URI uri)
  • Method Details

    • needToNormalize

      public boolean needToNormalize()
      Overrides:
      needToNormalize in class org.apache.camel.component.file.GenericFileConfiguration
    • configure

      public void configure(URI uri)
      Overrides:
      configure in class org.apache.camel.component.file.GenericFileConfiguration
    • remoteServerInformation

      public String remoteServerInformation()
      Returns human readable server information for logging purpose
    • setDefaultPort

      protected abstract void setDefaultPort()
    • getHost

      public String getHost()
    • setHost

      public void setHost(String host)
      Hostname of the FTP server
    • getPort

      public int getPort()
    • setPort

      public void setPort(int port)
      Port of the FTP server
    • getPassword

      public String getPassword()
    • setPassword

      public void setPassword(String password)
      Password to use for login
    • getProtocol

      public String getProtocol()
    • setProtocol

      public void setProtocol(String protocol)
      The ftp protocol to use
    • getUsername

      public String getUsername()
    • setUsername

      public void setUsername(String username)
      Username to use for login
    • getDirectoryName

      public String getDirectoryName()
    • setDirectoryName

      public void setDirectoryName(String directoryName)
      The starting directory
    • isBinary

      public boolean isBinary()
    • setBinary

      public void setBinary(boolean binary)
      Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false).
    • isPassiveMode

      public boolean isPassiveMode()
    • setPassiveMode

      public void setPassiveMode(boolean passiveMode)
      Sets passive mode connections.
      Default is active mode connections.
    • getConnectTimeout

      public int getConnectTimeout()
    • setConnectTimeout

      public void setConnectTimeout(int connectTimeout)
      Sets the connect timeout for waiting for a connection to be established

      Used by both FTPClient and JSCH

    • getTimeout

      public int getTimeout()
    • setTimeout

      public void setTimeout(int timeout)
      Sets the data timeout for waiting for reply

      Used only by FTPClient

    • getSoTimeout

      public int getSoTimeout()
    • setSoTimeout

      public void setSoTimeout(int soTimeout)
      Sets the so timeout

      FTP and FTPS Only for Camel 2.4. SFTP for Camel 2.14.3/2.15.3/2.16 onwards. Is the SocketOptions.SO_TIMEOUT value in millis. Recommended option is to set this to 300000 so as not have a hanged connection. On SFTP this option is set as timeout on the JSCH Session instance.

    • isThrowExceptionOnConnectFailed

      public boolean isThrowExceptionOnConnectFailed()
    • setThrowExceptionOnConnectFailed

      public void setThrowExceptionOnConnectFailed(boolean throwExceptionOnConnectFailed)
      Should an exception be thrown if connection failed (exhausted)

      By default exception is not thrown and a WARN is logged. You can use this to enable exception being thrown and handle the thrown exception from the PollingConsumerPollStrategy rollback method.

    • getSiteCommand

      public String getSiteCommand()
    • setSiteCommand

      public void setSiteCommand(String siteCommand)
      Sets optional site command(s) to be executed after successful login.

      Multiple site commands can be separated using a new line character.

    • isStepwise

      public boolean isStepwise()
    • setStepwise

      public void setStepwise(boolean stepwise)
      Sets whether we should stepwise change directories while traversing file structures when downloading files, or as well when uploading a file to a directory.

      You can disable this if you for example are in a situation where you cannot change directory on the FTP server due security reasons.

      Parameters:
      stepwise - whether to use change directory or not
    • getSeparator

    • setSeparator

      public void setSeparator(RemoteFileConfiguration.PathSeparator separator)
      Sets the path separator to be used.

      UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name

    • isStreamDownload

      public boolean isStreamDownload()
    • setStreamDownload

      public void setStreamDownload(boolean streamDownload)
      Sets the download method to use when not using a local working directory. If set to true, the remote files are streamed to the route as they are read. When set to false, the remote files are loaded into memory before being sent into the route.
    • isUseList

      public boolean isUseList()
    • setUseList

      public void setUseList(boolean useList)
      Whether to allow using LIST command when downloading a file.

      Default is true. In some use cases you may want to download a specific file and are not allowed to use the LIST command, and therefore you can set this option to false. Notice when using this option, then the specific file to download does not include meta-data information such as file size, timestamp, permissions etc, because those information is only possible to retrieve when LIST command is in use.

    • isIgnoreFileNotFoundOrPermissionError

      public boolean isIgnoreFileNotFoundOrPermissionError()
    • setIgnoreFileNotFoundOrPermissionError

      public void setIgnoreFileNotFoundOrPermissionError(boolean ignoreFileNotFoundOrPermissionError)
      Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error.

      By default when a directory or file does not exist or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead.

    • isSendNoop

      public boolean isSendNoop()
    • setSendNoop

      public void setSendNoop(boolean sendNoop)
      Whether to send a noop command as a pre-write check before uploading files to the FTP server.

      This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off.

    • normalizePath

      public String normalizePath(String path)
      Normalizes the given path according to the configured path separator.
      Parameters:
      path - the given path
      Returns:
      the normalized path