Class RemoteFileConsumer<T>

  • 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
    Direct Known Subclasses:
    FtpConsumer, SftpConsumer

    public abstract class RemoteFileConsumer<T>
    extends org.apache.camel.component.file.GenericFileConsumer<T>
    Base class for remote file consumers.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean loggedIn  
      protected boolean 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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected void connectIfNecessary()  
      protected org.apache.camel.Exchange createExchange​(org.apache.camel.component.file.GenericFile<T> file)  
      protected void disconnect()  
      protected abstract boolean doPollDirectory​(String absolutePath, String dirName, List<org.apache.camel.component.file.GenericFile<T>> fileList, int depth)
      Poll directory given by dirName or absolutePath
      protected boolean doSafePollSubDirectory​(String absolutePath, String dirName, List<org.apache.camel.component.file.GenericFile<T>> fileList, int depth)
      Executes doPollDirectory and on exception checks if it can be ignored by calling ignoreCannotRetrieveFile.
      protected void doStop()  
      protected void forceDisconnect()  
      RemoteFileEndpoint<T> getEndpoint()  
      protected RemoteFileOperations<T> getOperations()  
      protected boolean hasStartingDirectory()
      Whether there is a starting directory configured.
      protected boolean isRetrieveFile()  
      protected void postPollCheck​(int polledMessages)  
      protected boolean prePollCheck()  
      protected boolean processExchange​(org.apache.camel.Exchange exchange)  
      protected String remoteServer()
      Returns human-readable server information for logging purpose
      • Methods inherited from class org.apache.camel.component.file.GenericFileConsumer

        afterPoll, beforePoll, canPollMoreFiles, customProcessExchange, doInit, doStart, evaluateFileExpression, getCustomProcessor, ignoreCannotRetrieveFile, isEagerLimitMaxMessagesPerPoll, isMatched, isMatched, isValidFile, onInit, poll, pollDirectory, processBatch, removeExcessiveInProgressFiles, removeExcessiveInProgressFiles, setCustomProcessor, setEagerLimitMaxMessagesPerPoll, setOperations, updateFileHeaders
      • 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, 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, toString
      • 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

      • loggedIn

        protected transient boolean loggedIn
      • loggedInWarning

        protected transient boolean loggedInWarning
    • Constructor Detail

      • RemoteFileConsumer

        public RemoteFileConsumer​(RemoteFileEndpoint<T> endpoint,
                                  org.apache.camel.Processor processor,
                                  RemoteFileOperations<T> operations,
                                  org.apache.camel.component.file.GenericFileProcessStrategy processStrategy)
    • Method Detail

      • getEndpoint

        public RemoteFileEndpoint<T> getEndpoint()
        Specified by:
        getEndpoint in interface org.apache.camel.EndpointAware
        Overrides:
        getEndpoint in class org.apache.camel.support.DefaultConsumer
      • createExchange

        protected org.apache.camel.Exchange createExchange​(org.apache.camel.component.file.GenericFile<T> file)
        Specified by:
        createExchange in class org.apache.camel.component.file.GenericFileConsumer<T>
      • prePollCheck

        protected boolean prePollCheck()
                                throws Exception
        Overrides:
        prePollCheck in class org.apache.camel.component.file.GenericFileConsumer<T>
        Throws:
        Exception
      • postPollCheck

        protected void postPollCheck​(int polledMessages)
        Overrides:
        postPollCheck in class org.apache.camel.component.file.GenericFileConsumer<T>
      • processExchange

        protected boolean processExchange​(org.apache.camel.Exchange exchange)
        Overrides:
        processExchange in class org.apache.camel.component.file.GenericFileConsumer<T>
      • isRetrieveFile

        protected boolean isRetrieveFile()
        Overrides:
        isRetrieveFile in class org.apache.camel.component.file.GenericFileConsumer<T>
      • hasStartingDirectory

        protected boolean hasStartingDirectory()
        Whether there is a starting directory configured.
      • doStop

        protected void doStop()
                       throws Exception
        Overrides:
        doStop in class org.apache.camel.component.file.GenericFileConsumer<T>
        Throws:
        Exception
      • disconnect

        protected void disconnect()
      • forceDisconnect

        protected void forceDisconnect()
      • connectIfNecessary

        protected void connectIfNecessary()
      • remoteServer

        protected String remoteServer()
        Returns human-readable server information for logging purpose
      • doSafePollSubDirectory

        protected boolean doSafePollSubDirectory​(String absolutePath,
                                                 String dirName,
                                                 List<org.apache.camel.component.file.GenericFile<T>> fileList,
                                                 int depth)
        Executes doPollDirectory and on exception checks if it can be ignored by calling ignoreCannotRetrieveFile.
        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
        Throws:
        org.apache.camel.component.file.GenericFileOperationFailedException - if the exception during doPollDirectory can not be ignored
      • doPollDirectory

        protected abstract boolean doPollDirectory​(String absolutePath,
                                                   String dirName,
                                                   List<org.apache.camel.component.file.GenericFile<T>> fileList,
                                                   int depth)
        Poll directory given by dirName or absolutePath
        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