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 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
ModifierConstructorDescriptionprotected
RemoteFileConsumer
(RemoteFileEndpoint<T> endpoint, org.apache.camel.Processor processor, RemoteFileOperations<T> operations, org.apache.camel.component.file.GenericFileProcessStrategy processStrategy) -
Method Summary
Modifier and TypeMethodDescriptionprotected 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 absolutePathprotected 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
protected RemoteFileOperations
<T> 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 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, 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, 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, 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
- Specified by:
getEndpoint
in interfaceorg.apache.camel.EndpointAware
- Overrides:
getEndpoint
in classorg.apache.camel.support.DefaultConsumer
-
getOperations
-
createExchange
protected org.apache.camel.Exchange createExchange(org.apache.camel.component.file.GenericFile<T> file) - Specified by:
createExchange
in classorg.apache.camel.component.file.GenericFileConsumer<T>
-
prePollCheck
-
postPollCheck
protected void postPollCheck(int polledMessages) - Overrides:
postPollCheck
in classorg.apache.camel.component.file.GenericFileConsumer<T>
-
processExchange
protected boolean processExchange(org.apache.camel.Exchange exchange) - Overrides:
processExchange
in classorg.apache.camel.component.file.GenericFileConsumer<T>
-
isRetrieveFile
protected boolean isRetrieveFile()- Overrides:
isRetrieveFile
in 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
-