Class FtpEndpoint<T extends org.apache.commons.net.ftp.FTPFile>
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultEndpoint
org.apache.camel.support.ScheduledPollEndpoint
org.apache.camel.component.file.GenericFileEndpoint<org.apache.commons.net.ftp.FTPFile>
org.apache.camel.component.file.remote.RemoteFileEndpoint<org.apache.commons.net.ftp.FTPFile>
org.apache.camel.component.file.remote.FtpEndpoint<T>
- All Implemented Interfaces:
AutoCloseable,org.apache.camel.CamelContextAware,org.apache.camel.ComponentAware,org.apache.camel.Endpoint,org.apache.camel.IsSingleton,org.apache.camel.Service,org.apache.camel.ShutdownableService,org.apache.camel.spi.BrowsableEndpoint,org.apache.camel.spi.EndpointServiceLocation,org.apache.camel.spi.HasCamelContext,org.apache.camel.spi.HasId,org.apache.camel.StatefulService,org.apache.camel.SuspendableService
- Direct Known Subclasses:
FtpsEndpoint
@UriEndpoint(firstVersion="1.1.0",
scheme="ftp",
extendsScheme="file",
title="FTP",
syntax="ftp:host:port/directoryName",
alternativeSyntax="ftp:username:password@host:port/directoryName",
category=FILE,
headersClass=FtpConstants.class)
@Metadata(excludeProperties="appendChars,readLockIdempotentReleaseAsync,readLockIdempotentReleaseAsyncPoolSize,readLockIdempotentReleaseDelay,readLockIdempotentReleaseExecutorService,directoryMustExist,extendedAttributes,probeContentType,startingDirectoryMustExist,startingDirectoryMustHaveAccess,chmodDirectory,forceWrites,copyAndDeleteOnRenameFail,renameUsingCopy,synchronous")
@ManagedResource(description="Managed FtpEndpoint")
public class FtpEndpoint<T extends org.apache.commons.net.ftp.FTPFile>
extends RemoteFileEndpoint<org.apache.commons.net.ftp.FTPFile>
Upload and download files to/from FTP servers.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.camel.spi.BrowsableEndpoint
org.apache.camel.spi.BrowsableEndpoint.BrowseStatus -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected FtpConfigurationprotected intprotected org.apache.commons.net.ftp.FTPClientprotected org.apache.commons.net.ftp.FTPClientConfigprotected booleanprotected intprotected intprotected org.apache.camel.LoggingLevelprotected booleanFields inherited from class org.apache.camel.component.file.GenericFileEndpoint
allowNullBody, antExclude, antFilter, antFilterCaseSensitive, antInclude, appendChars, autoCreate, bufferSize, charset, checksumFileAlgorithm, DEFAULT_IDEMPOTENT_CACHE_SIZE, DEFAULT_IN_PROGRESS_CACHE_SIZE, delete, doneFileName, eagerDeleteTargetFile, eagerMaxMessagesPerPoll, exclude, excludeExt, exclusiveReadLockStrategy, fileExist, fileName, filter, filterDirectory, filterFile, flatten, idempotent, idempotentKey, idempotentRepository, include, includeExt, inProgressRepository, jailStartingDirectory, keepLastModified, localWorkDirectory, maxDepth, maxMessagesPerPoll, minDepth, move, moveExisting, moveExistingFileStrategy, moveFailed, noop, onCompletionExceptionHandler, preMove, preSort, processStrategy, readLock, readLockCheckInterval, readLockDeleteOrphanLockFiles, readLockIdempotentReleaseAsync, readLockIdempotentReleaseAsyncPoolSize, readLockIdempotentReleaseDelay, readLockIdempotentReleaseExecutorService, readLockLoggingLevel, readLockMarkerFile, readLockMinAge, readLockMinLength, readLockRemoveOnCommit, readLockRemoveOnRollback, readLockTimeout, recursive, shuffle, sortBy, sorter, tempFileName, tempPrefixFields 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
ConstructorsConstructorDescriptionFtpEndpoint(String uri, RemoteFileComponent<org.apache.commons.net.ftp.FTPFile> component, FtpConfiguration configuration) -
Method Summary
Modifier and TypeMethodDescriptionprotected RemoteFileConsumer<org.apache.commons.net.ftp.FTPFile> buildConsumer(org.apache.camel.Processor processor) Remote File Endpoints, impl this method to create a custom consumer specific to their "protocol" etc.protected org.apache.camel.component.file.GenericFileProducer<org.apache.commons.net.ftp.FTPFile> Remote File Endpoints, impl this method to create a custom producer specific to their "protocol" etc.RemoteFileConsumer<org.apache.commons.net.ftp.FTPFile> createConsumer(org.apache.camel.Processor processor) protected org.apache.commons.net.ftp.FTPClientCreate the FTP clientprotected org.apache.camel.component.file.GenericFileProcessStrategy<org.apache.commons.net.ftp.FTPFile> RemoteFileOperations<org.apache.commons.net.ftp.FTPFile> Creates the operations to be used by the consumer or producer.intcharorg.apache.commons.net.ftp.FTPClientorg.apache.commons.net.ftp.FTPClientConfigintintorg.apache.camel.LoggingLevelbooleanbooleanvoidsetConfiguration(org.apache.camel.component.file.GenericFileConfiguration configuration) voidsetDataTimeout(int dataTimeout) Sets the data timeout on the FTP client.voidsetFtpClient(org.apache.commons.net.ftp.FTPClient ftpClient) To use a custom instance of FTPClientvoidsetFtpClientConfig(org.apache.commons.net.ftp.FTPClientConfig ftpClientConfig) To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use.voidsetResumeDownload(boolean resumeDownload) Configures whether resume download is enabled.voidsetSoTimeout(int soTimeout) Sets the soTimeout on the FTP client.voidsetTransferLoggingIntervalSeconds(int transferLoggingIntervalSeconds) Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight.voidsetTransferLoggingLevel(org.apache.camel.LoggingLevel transferLoggingLevel) Configure the logging level to use when logging the progress of upload and download operations.voidsetTransferLoggingLevelName(String transferLoggingLevel) voidsetTransferLoggingVerbose(boolean transferLoggingVerbose) Configures whether perform verbose (fine-grained) logging of the progress of upload and download operations.Methods inherited from class org.apache.camel.component.file.remote.RemoteFileEndpoint
afterPropertiesSet, createExchange, createPollingConsumer, createProducer, getMaximumReconnectAttempts, getParamsAsMap, getReconnectDelay, getServiceMetadata, getServiceProtocol, getServiceUrl, isAbsolute, isDisconnect, isDisconnectOnBatchComplete, isDownload, isFastExistsCheck, isSingletonProducer, remoteServerInformation, setDisconnect, setDisconnectOnBatchComplete, setDownload, setFastExistsCheck, setMaximumReconnectAttempts, setReconnectDelayMethods inherited from class org.apache.camel.component.file.GenericFileEndpoint
configureExchange, configureMessage, configureMoveOrPreMoveExpression, createDoneFileName, doInit, doStart, doStop, getAntExclude, getAntFilter, getAntInclude, getAppendChars, getBrowseLimit, getBrowseStatus, getBufferSize, getCharset, getChecksumFileAlgorithm, getDoneFileName, getExchanges, getExchanges, getExclude, getExcludeExt, getExcludePattern, getExclusiveReadLockStrategy, getFileExist, getFileName, getFilter, getFilterDirectory, getFilterFile, getGeneratedFileName, getIdempotent, getIdempotentEager, getIdempotentKey, getIdempotentRepository, getInclude, getIncludeExt, getIncludePattern, getInProgressRepository, getLocalWorkDirectory, getMaxDepth, getMaxMessagesPerPoll, getMinDepth, getMove, getMoveExisting, getMoveExistingFileStrategy, getMoveFailed, getOnCompletionExceptionHandler, getPreMove, getProcessStrategy, getReadLock, getReadLockCheckInterval, getReadLockIdempotentReleaseAsyncPoolSize, getReadLockIdempotentReleaseDelay, getReadLockIdempotentReleaseExecutorService, getReadLockLoggingLevel, getReadLockMinAge, getReadLockMinLength, getReadLockTimeout, getSortBy, getSorter, getTempFileName, getTempPrefix, isAllowNullBody, isAntFilterCaseSensitive, isAutoCreate, isDelete, isDoneFile, isEagerDeleteTargetFile, isEagerMaxMessagesPerPoll, isFlatten, isHiddenFilesEnabled, isIdempotent, isIdempotentEager, isIdempotentSet, isJailStartingDirectory, isKeepLastModified, isNoop, isPreSort, isReadLockDeleteOrphanLockFiles, isReadLockIdempotentReleaseAsync, isReadLockMarkerFile, isReadLockRemoveOnCommit, isReadLockRemoveOnRollback, isRecursive, isShuffle, isSynchronous, setAllowNullBody, setAntExclude, setAntFilterCaseSensitive, setAntInclude, setAppendChars, setAutoCreate, setBrowseLimit, setBufferSize, setCharset, setChecksumFileAlgorithm, setDelete, setDoneFileName, setEagerDeleteTargetFile, setEagerMaxMessagesPerPoll, setExclude, setExcludeExt, setExclusiveReadLockStrategy, setFileExist, setFileName, setFileName, setFilter, setFilterDirectory, setFilterDirectory, setFilterFile, setFilterFile, setFlatten, setIdempotent, setIdempotentEager, setIdempotentKey, setIdempotentKey, setIdempotentRepository, setInclude, setIncludeExt, setInProgressRepository, setJailStartingDirectory, setKeepLastModified, setLocalWorkDirectory, setMaxDepth, setMaxMessagesPerPoll, setMinDepth, setMove, setMove, setMoveExisting, setMoveExisting, setMoveExistingFileStrategy, setMoveFailed, setMoveFailed, setNoop, setOnCompletionExceptionHandler, setPreMove, setPreMove, setPreSort, setProcessStrategy, setReadLock, setReadLockCheckInterval, setReadLockDeleteOrphanLockFiles, setReadLockIdempotentReleaseAsync, setReadLockIdempotentReleaseAsyncPoolSize, setReadLockIdempotentReleaseDelay, setReadLockIdempotentReleaseExecutorService, setReadLockLoggingLevel, setReadLockMarkerFile, setReadLockMinAge, setReadLockMinLength, setReadLockRemoveOnCommit, setReadLockRemoveOnRollback, setReadLockTimeout, setRecursive, setShuffle, setSortBy, setSortBy, setSortBy, setSorter, setSynchronous, setTempFileName, setTempFileName, setTempPrefixMethods inherited from class org.apache.camel.support.ScheduledPollEndpoint
configureConsumer, configureProperties, configureScheduledPollConsumerProperties, doConfigureConsumer, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getDefaultDelay, getDelay, getInitialDelay, getPollStrategy, getRepeatCount, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getTimeUnit, isGreedy, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, setBackoffErrorThreshold, setBackoffIdleThreshold, setBackoffMultiplier, setDelay, setGreedy, setInitialDelay, setPollStrategy, setRepeatCount, setRunLoggingLevel, setScheduledExecutorService, setScheduler, setSchedulerProperties, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelayMethods inherited from class org.apache.camel.support.DefaultEndpoint
configurePollingConsumer, createAsyncProducer, createEndpointUri, createExchange, createExchange, equals, getCamelContext, getComponent, getEndpointKey, getEndpointUri, getExceptionHandler, getExchangePattern, getId, getPollingConsumerBlockTimeout, getPollingConsumerQueueSize, hashCode, isAutowiredEnabled, isBridgeErrorHandler, isLazyStartProducer, isLenientProperties, isPollingConsumerBlockWhenFull, isPollingConsumerCopy, isSingleton, setAutowiredEnabled, setBridgeErrorHandler, setCamelContext, setComponent, setEndpointUri, setEndpointUriIfNotSpecified, setExceptionHandler, setExchangePattern, setLazyStartProducer, setPollingConsumerBlockTimeout, setPollingConsumerBlockWhenFull, setPollingConsumerCopy, setPollingConsumerQueueSize, setProperties, toStringMethods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getInternalLock, 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, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.camel.ComponentAware
getComponent, getComponent, setComponentMethods inherited from interface org.apache.camel.Endpoint
configureProperties, createAsyncProducer, createExchange, createExchange, getCamelContext, getEndpointBaseUri, getEndpointKey, getEndpointUri, getExchangePattern, isLenientProperties, isRemote, setCamelContextMethods inherited from interface org.apache.camel.IsSingleton
isSingletonMethods 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
-
soTimeout
protected int soTimeout -
dataTimeout
protected int dataTimeout -
configuration
-
ftpClientConfig
@UriParam(label="advanced") protected org.apache.commons.net.ftp.FTPClientConfig ftpClientConfig -
ftpClientConfigParameters
-
ftpClientParameters
-
ftpClient
@UriParam(label="advanced") protected org.apache.commons.net.ftp.FTPClient ftpClient -
transferLoggingLevel
@UriParam(label="common", defaultValue="DEBUG") protected org.apache.camel.LoggingLevel transferLoggingLevel -
transferLoggingIntervalSeconds
@UriParam(label="common", defaultValue="5") protected int transferLoggingIntervalSeconds -
transferLoggingVerbose
@UriParam(label="common") protected boolean transferLoggingVerbose -
resumeDownload
@UriParam(label="consumer") protected boolean resumeDownload
-
-
Constructor Details
-
FtpEndpoint
public FtpEndpoint() -
FtpEndpoint
public FtpEndpoint(String uri, RemoteFileComponent<org.apache.commons.net.ftp.FTPFile> component, FtpConfiguration configuration)
-
-
Method Details
-
getScheme
- Specified by:
getSchemein classorg.apache.camel.component.file.GenericFileEndpoint<org.apache.commons.net.ftp.FTPFile>
-
createConsumer
public RemoteFileConsumer<org.apache.commons.net.ftp.FTPFile> createConsumer(org.apache.camel.Processor processor) throws Exception - Specified by:
createConsumerin interfaceorg.apache.camel.Endpoint- Overrides:
createConsumerin classRemoteFileEndpoint<org.apache.commons.net.ftp.FTPFile>- Throws:
Exception
-
buildConsumer
protected RemoteFileConsumer<org.apache.commons.net.ftp.FTPFile> buildConsumer(org.apache.camel.Processor processor) Description copied from class:RemoteFileEndpointRemote File Endpoints, impl this method to create a custom consumer specific to their "protocol" etc.- Specified by:
buildConsumerin classRemoteFileEndpoint<org.apache.commons.net.ftp.FTPFile>- Parameters:
processor- the processor- Returns:
- the created consumer
-
buildProducer
protected org.apache.camel.component.file.GenericFileProducer<org.apache.commons.net.ftp.FTPFile> buildProducer()Description copied from class:RemoteFileEndpointRemote File Endpoints, impl this method to create a custom producer specific to their "protocol" etc.- Specified by:
buildProducerin classRemoteFileEndpoint<org.apache.commons.net.ftp.FTPFile>- Returns:
- the created producer
-
createGenericFileStrategy
protected org.apache.camel.component.file.GenericFileProcessStrategy<org.apache.commons.net.ftp.FTPFile> createGenericFileStrategy()- Specified by:
createGenericFileStrategyin classorg.apache.camel.component.file.GenericFileEndpoint<org.apache.commons.net.ftp.FTPFile>
-
createRemoteFileOperations
public RemoteFileOperations<org.apache.commons.net.ftp.FTPFile> createRemoteFileOperations() throws ExceptionDescription copied from class:RemoteFileEndpointCreates the operations to be used by the consumer or producer.- Specified by:
createRemoteFileOperationsin classRemoteFileEndpoint<org.apache.commons.net.ftp.FTPFile>- Returns:
- a new created operations
- Throws:
Exception- is thrown if error creating operations.
-
createFtpClient
Create the FTP client- Throws:
Exception- may throw client-specific exceptions if the client cannot be created
-
getConfiguration
- Overrides:
getConfigurationin classRemoteFileEndpoint<org.apache.commons.net.ftp.FTPFile>
-
setConfiguration
public void setConfiguration(org.apache.camel.component.file.GenericFileConfiguration configuration) - Overrides:
setConfigurationin classorg.apache.camel.component.file.GenericFileEndpoint<org.apache.commons.net.ftp.FTPFile>
-
getFtpClient
public org.apache.commons.net.ftp.FTPClient getFtpClient() -
setFtpClient
public void setFtpClient(org.apache.commons.net.ftp.FTPClient ftpClient) To use a custom instance of FTPClient -
getFtpClientConfig
public org.apache.commons.net.ftp.FTPClientConfig getFtpClientConfig() -
setFtpClientConfig
public void setFtpClientConfig(org.apache.commons.net.ftp.FTPClientConfig ftpClientConfig) To use a custom instance of FTPClientConfig to configure the FTP client the endpoint should use. -
getFtpClientParameters
-
getFtpClientConfigParameters
-
getSoTimeout
public int getSoTimeout() -
setSoTimeout
public void setSoTimeout(int soTimeout) Sets the soTimeout on the FTP client. -
getDataTimeout
public int getDataTimeout() -
setDataTimeout
public void setDataTimeout(int dataTimeout) Sets the data timeout on the FTP client. -
getTransferLoggingLevel
public org.apache.camel.LoggingLevel getTransferLoggingLevel() -
setTransferLoggingLevel
public void setTransferLoggingLevel(org.apache.camel.LoggingLevel transferLoggingLevel) Configure the logging level to use when logging the progress of upload and download operations. -
setTransferLoggingLevelName
@ManagedAttribute(description="Logging level to use when logging the progress of upload and download operations") public void setTransferLoggingLevelName(String transferLoggingLevel) -
getTransferLoggingLevelName
-
getTransferLoggingIntervalSeconds
@ManagedAttribute public int getTransferLoggingIntervalSeconds() -
setTransferLoggingIntervalSeconds
@ManagedAttribute(description="Interval in seconds to use when logging the progress of upload and download operations that are in-flight") public void setTransferLoggingIntervalSeconds(int transferLoggingIntervalSeconds) Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations take a longer time. -
isTransferLoggingVerbose
@ManagedAttribute public boolean isTransferLoggingVerbose() -
setTransferLoggingVerbose
@ManagedAttribute(description="Whether the perform verbose (fine grained) logging of the progress of upload and download operations") public void setTransferLoggingVerbose(boolean transferLoggingVerbose) Configures whether perform verbose (fine-grained) logging of the progress of upload and download operations. -
isResumeDownload
public boolean isResumeDownload() -
setResumeDownload
public void setResumeDownload(boolean resumeDownload) Configures whether resume download is enabled. This must be supported by the FTP server (almost all FTP servers support it). In addition, the options localWorkDirectory must be configured so downloaded files are stored in a local directory, and the option binary must be enabled, which is required to support resuming of downloads. -
getFileSeparator
public char getFileSeparator()- Overrides:
getFileSeparatorin classRemoteFileEndpoint<org.apache.commons.net.ftp.FTPFile>
-