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
loggedIn
protected boolean
loggedInWarning
-
Fields inherited from class org.apache.camel.component.file.GenericFileConsumer
customProcessor, eagerLimitMaxMessagesPerPoll, endpoint, operations, pendingExchanges, prepareOnStartup, processStrategy, shutdownRunningTask
-
-
Constructor Summary
Constructors Constructor Description RemoteFileConsumer(RemoteFileEndpoint<T> endpoint, org.apache.camel.Processor processor, RemoteFileOperations<T> operations, org.apache.camel.component.file.GenericFileProcessStrategy processStrategy)
-
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 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
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, 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, 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
-
-
-
-
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 interfaceorg.apache.camel.EndpointAware
- Overrides:
getEndpoint
in classorg.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 classorg.apache.camel.component.file.GenericFileConsumer<T>
-
prePollCheck
protected boolean prePollCheck() throws Exception
-
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
protected void doStop() 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 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
-
-