Class 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 endpointPath  
      • 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

      All Methods Instance Methods Concrete Methods 
      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 doStart()  
      String getLastFtpActivity()  
      String getLastFtpActivityVerbose()  
      protected FtpOperations getOperations()  
      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)  
      String toString()  
      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, 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, getBackoffCounter, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getCounter, getDelay, getErrorCounter, getInitialDelay, getLastError, getLastErrorDetails, getPollStrategy, getRepeatCount, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getSuccessCounter, getTimeUnit, initialHealthCheckState, 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, 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 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 Detail

      • endpointPath

        protected String endpointPath
    • Constructor Detail

      • 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 Detail

      • 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