Class RemoteFileConsumer<T>

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<T>
org.apache.camel.component.file.remote.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
     
    protected boolean
     

    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
    Modifier
    Constructor
    Description
    protected
    RemoteFileConsumer(RemoteFileEndpoint<T> endpoint, org.apache.camel.Processor processor, RemoteFileOperations<T> operations, org.apache.camel.component.file.GenericFileProcessStrategy processStrategy)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    protected org.apache.camel.Exchange
    createExchange(org.apache.camel.component.file.GenericFile<T> file)
     
    protected void
     
    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
     
    protected void
     
     
     
    protected boolean
    Whether there is a starting directory configured.
    protected boolean
     
    protected void
    postPollCheck(int polledMessages)
     
    protected boolean
     
    protected boolean
    processExchange(org.apache.camel.Exchange exchange)
     
    protected String
    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, isMatchedHiddenFile, 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, 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, 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 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

    • loggedIn

      protected transient boolean loggedIn
    • loggedInWarning

      protected transient boolean loggedInWarning
  • Constructor Details

    • RemoteFileConsumer

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

    • getEndpoint

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

      protected RemoteFileOperations<T> getOperations()
    • 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