Class FtpConsumer

java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultConsumer
org.apache.camel.support.ScheduledPollConsumer
org.apache.camel.support.ScheduledBatchPollingConsumer
org.apache.camel.component.file.GenericFileConsumer<org.apache.commons.net.ftp.FTPFile>
org.apache.camel.component.file.remote.RemoteFileConsumer<org.apache.commons.net.ftp.FTPFile>
org.apache.camel.component.file.remote.FtpConsumer
All Implemented Interfaces:
AutoCloseable, Runnable, org.apache.camel.BatchConsumer, org.apache.camel.Consumer, org.apache.camel.EndpointAware, org.apache.camel.health.HealthCheckAware, org.apache.camel.PollingConsumerPollingStrategy, org.apache.camel.RouteAware, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.RouteIdAware, org.apache.camel.spi.ShutdownAware, org.apache.camel.spi.ShutdownPrepared, org.apache.camel.StatefulService, org.apache.camel.Suspendable, org.apache.camel.SuspendableService

@ManagedResource(description="Managed FtpConsumer") public class FtpConsumer extends RemoteFileConsumer<org.apache.commons.net.ftp.FTPFile>
FTP consumer
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected String
     

    Fields inherited from class org.apache.camel.component.file.remote.RemoteFileConsumer

    loggedIn, loggedInWarning

    Fields inherited from class org.apache.camel.component.file.GenericFileConsumer

    customProcessor, eagerLimitMaxMessagesPerPoll, endpoint, operations, pendingExchanges, prepareOnStartup, processStrategy, shutdownRunningTask

    Fields inherited from class org.apache.camel.support.ScheduledBatchPollingConsumer

    maxMessagesPerPoll

    Fields inherited from class org.apache.camel.support.service.BaseService

    BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
  • Constructor Summary

    Constructors
    Constructor
    Description
    FtpConsumer(RemoteFileEndpoint<org.apache.commons.net.ftp.FTPFile> endpoint, org.apache.camel.Processor processor, RemoteFileOperations<org.apache.commons.net.ftp.FTPFile> fileOperations, org.apache.camel.component.file.GenericFileProcessStrategy processStrategy)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    doPollDirectory(String absolutePath, String dirName, List<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>> fileList, int depth)
    Poll directory given by dirName or absolutePath
    protected void
     
     
     
    protected FtpOperations
     
    protected boolean
    ignoreCannotRetrieveFile(String name, org.apache.camel.Exchange exchange, Exception cause)
     
    protected boolean
    isMatched(org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile> file, String doneFileName, org.apache.commons.net.ftp.FTPFile[] files)
     
    protected boolean
    pollDirectory(String fileName, List<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>> fileList, int depth)
     
    protected boolean
    pollSubDirectory(String absolutePath, String dirName, List<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>> fileList, int depth)
     
     
    protected void
    updateFileHeaders(org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile> file, org.apache.camel.Message message)
     

    Methods inherited from class org.apache.camel.component.file.GenericFileConsumer

    afterPoll, beforePoll, canPollMoreFiles, customProcessExchange, doInit, evaluateFileExpression, getCustomProcessor, isEagerLimitMaxMessagesPerPoll, isMatched, isMatchedHiddenFile, isValidFile, onInit, poll, processBatch, removeExcessiveInProgressFiles, removeExcessiveInProgressFiles, setCustomProcessor, setEagerLimitMaxMessagesPerPoll, setOperations

    Methods inherited from class org.apache.camel.support.ScheduledBatchPollingConsumer

    deferShutdown, getMaxMessagesPerPoll, getPendingExchangesSize, isBatchAllowed, prepareShutdown, processEmptyMessage, setMaxMessagesPerPoll

    Methods inherited from class org.apache.camel.support.ScheduledPollConsumer

    addLastErrorDetail, afterConfigureScheduler, doBuild, doShutdown, doSuspend, forceConsumerAsReady, getBackoffCounter, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getCounter, getDelay, getErrorCounter, getInitialDelay, getLastError, getLastErrorDetails, getPollStrategy, getRepeatCount, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getSuccessCounter, getTimeUnit, initialHealthCheckState, isConsumerReady, isFirstPollDone, isGreedy, isPollAllowed, isPolling, isSchedulerStarted, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, run, setBackoffErrorThreshold, setBackoffIdleThreshold, setBackoffMultiplier, setDelay, setGreedy, setInitialDelay, setPollStrategy, setRepeatCount, setRunLoggingLevel, setScheduledExecutorService, setScheduler, setSchedulerProperties, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelay, startScheduler

    Methods inherited from class org.apache.camel.support.DefaultConsumer

    createExchange, createUoW, defaultConsumerCallback, doneUoW, getAsyncProcessor, getExceptionHandler, getHealthCheck, getProcessor, getRoute, getRouteId, handleException, handleException, handleException, releaseExchange, setExceptionHandler, setHealthCheck, setRoute, setRouteId

    Methods inherited from class org.apache.camel.support.service.BaseService

    build, doFail, doLifecycleChange, doResume, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.camel.Consumer

    createExchange, defaultConsumerCallback, getProcessor, releaseExchange

    Methods inherited from interface org.apache.camel.health.HealthCheckAware

    getHealthCheck, setHealthCheck

    Methods inherited from interface org.apache.camel.Service

    build, close, init, start, stop

    Methods inherited from interface org.apache.camel.ShutdownableService

    shutdown

    Methods inherited from interface org.apache.camel.StatefulService

    getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending

    Methods inherited from interface org.apache.camel.SuspendableService

    isSuspended, resume, suspend
  • Field Details

    • endpointPath

      protected String endpointPath
  • Constructor Details

    • FtpConsumer

      public FtpConsumer(RemoteFileEndpoint<org.apache.commons.net.ftp.FTPFile> endpoint, org.apache.camel.Processor processor, RemoteFileOperations<org.apache.commons.net.ftp.FTPFile> fileOperations, org.apache.camel.component.file.GenericFileProcessStrategy processStrategy)
  • Method Details

    • getOperations

      protected FtpOperations getOperations()
      Overrides:
      getOperations in class RemoteFileConsumer<org.apache.commons.net.ftp.FTPFile>
    • doStart

      protected void doStart() throws Exception
      Overrides:
      doStart in class org.apache.camel.component.file.GenericFileConsumer<org.apache.commons.net.ftp.FTPFile>
      Throws:
      Exception
    • pollDirectory

      protected boolean pollDirectory(String fileName, List<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>> fileList, int depth)
      Specified by:
      pollDirectory in class org.apache.camel.component.file.GenericFileConsumer<org.apache.commons.net.ftp.FTPFile>
    • pollSubDirectory

      protected boolean pollSubDirectory(String absolutePath, String dirName, List<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>> fileList, int depth)
    • doPollDirectory

      protected boolean doPollDirectory(String absolutePath, String dirName, List<org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile>> fileList, int depth)
      Description copied from class: RemoteFileConsumer
      Poll directory given by dirName or absolutePath
      Specified by:
      doPollDirectory in class RemoteFileConsumer<org.apache.commons.net.ftp.FTPFile>
      Parameters:
      absolutePath - The path of the directory to poll
      dirName - The name of the directory to poll
      fileList - current list of files gathered
      depth - the current depth of the directory
      Returns:
      whether or not to continue polling, false means the maxMessagesPerPoll limit has been hit
    • isMatched

      protected boolean isMatched(org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile> file, String doneFileName, org.apache.commons.net.ftp.FTPFile[] files)
      Specified by:
      isMatched in class org.apache.camel.component.file.GenericFileConsumer<org.apache.commons.net.ftp.FTPFile>
    • ignoreCannotRetrieveFile

      protected boolean ignoreCannotRetrieveFile(String name, org.apache.camel.Exchange exchange, Exception cause)
      Overrides:
      ignoreCannotRetrieveFile in class org.apache.camel.component.file.GenericFileConsumer<org.apache.commons.net.ftp.FTPFile>
    • updateFileHeaders

      protected void updateFileHeaders(org.apache.camel.component.file.GenericFile<org.apache.commons.net.ftp.FTPFile> file, org.apache.camel.Message message)
      Specified by:
      updateFileHeaders in class org.apache.camel.component.file.GenericFileConsumer<org.apache.commons.net.ftp.FTPFile>
    • getLastFtpActivity

      @ManagedAttribute(description="Summary of last FTP activity (download only)") public String getLastFtpActivity()
    • getLastFtpActivityVerbose

      @ManagedAttribute(description="Summary of last FTP activity (all)") public String getLastFtpActivityVerbose()
    • toString

      public String toString()
      Overrides:
      toString in class org.apache.camel.support.DefaultConsumer