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
FieldsFields inherited from class org.apache.camel.component.file.GenericFileConsumer
customProcessor, eagerLimitMaxMessagesPerPoll, endpoint, operations, pendingExchanges, prepareOnStartup, processStrategy, shutdownRunningTaskFields inherited from class org.apache.camel.support.ScheduledBatchPollingConsumer
maxMessagesPerPollFields 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
ConstructorsModifierConstructorDescriptionprotectedRemoteFileConsumer(RemoteFileEndpoint<T> endpoint, org.apache.camel.Processor processor, RemoteFileOperations<T> operations, org.apache.camel.component.file.GenericFileProcessStrategy processStrategy) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected org.apache.camel.ExchangecreateExchange(org.apache.camel.component.file.GenericFile<T> file) protected voidprotected abstract booleandoPollDirectory(String absolutePath, String dirName, List<org.apache.camel.component.file.GenericFile<T>> fileList, int depth) Poll directory given by dirName or absolutePathprotected booleandoSafePollSubDirectory(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 voiddoStop()protected voidprotected RemoteFileOperations<T> protected booleanWhether there is a starting directory configured.protected booleanprotected voidpostPollCheck(int polledMessages) protected booleanprotected booleanprocessExchange(org.apache.camel.Exchange exchange) protected StringReturns human-readable server information for logging purposeMethods 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, updateFileHeadersMethods inherited from class org.apache.camel.support.ScheduledBatchPollingConsumer
deferShutdown, getMaxMessagesPerPoll, getPendingExchangesSize, isBatchAllowed, prepareShutdown, processEmptyMessage, setMaxMessagesPerPollMethods 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, startSchedulerMethods 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, toStringMethods 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, suspendMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.camel.Consumer
createExchange, defaultConsumerCallback, getProcessor, releaseExchangeMethods inherited from interface org.apache.camel.health.HealthCheckAware
getHealthCheck, setHealthCheckMethods inherited from interface org.apache.camel.Service
build, close, init, start, stopMethods inherited from interface org.apache.camel.ShutdownableService
shutdownMethods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspendingMethods 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
- Specified by:
getEndpointin interfaceorg.apache.camel.EndpointAware- Overrides:
getEndpointin classorg.apache.camel.support.DefaultConsumer
-
getOperations
-
createExchange
protected org.apache.camel.Exchange createExchange(org.apache.camel.component.file.GenericFile<T> file) - Specified by:
createExchangein classorg.apache.camel.component.file.GenericFileConsumer<T>
-
prePollCheck
-
postPollCheck
protected void postPollCheck(int polledMessages) - Overrides:
postPollCheckin classorg.apache.camel.component.file.GenericFileConsumer<T>
-
processExchange
protected boolean processExchange(org.apache.camel.Exchange exchange) - Overrides:
processExchangein classorg.apache.camel.component.file.GenericFileConsumer<T>
-
isRetrieveFile
protected boolean isRetrieveFile()- Overrides:
isRetrieveFilein classorg.apache.camel.component.file.GenericFileConsumer<T>
-
hasStartingDirectory
protected boolean hasStartingDirectory()Whether there is a starting directory configured. -
doStop
-
disconnect
protected void disconnect() -
forceDisconnect
protected void forceDisconnect() -
connectIfNecessary
protected void connectIfNecessary() -
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 polldirName- the name of the directory to pollfileList- current list of files gathereddepth- 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 polldirName- The name of the directory to pollfileList- current list of files gathereddepth- the current depth of the directory- Returns:
- whether or not to continue polling, false means the maxMessagesPerPoll limit has been hit
-