public abstract class GenericFileEndpoint<T> extends ScheduledPollEndpoint implements BrowsableEndpoint
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
Constructor and Description |
---|
GenericFileEndpoint() |
GenericFileEndpoint(String endpointUri,
Component component) |
Modifier and Type | Method and Description |
---|---|
void |
configureExchange(Exchange exchange)
Set up the exchange properties with the options of the file endpoint
|
void |
configureMessage(GenericFile<T> file,
Message message)
Configures the given message with the file which sets the body to the
file object.
|
protected String |
configureMoveOrPreMoveExpression(String expression)
Strategy to configure the move, preMove, or moveExisting option based on a String input.
|
abstract GenericFileConsumer<T> |
createConsumer(Processor processor)
Creates a new Event
Driven Consumer which consumes messages from the endpoint using the
given processor
|
protected String |
createDoneFileName(String fileName)
Creates the associated name of the done file based on the given file name.
|
abstract Exchange |
createExchange(GenericFile<T> file) |
protected GenericFileProcessStrategy<T> |
createGenericFileStrategy()
A strategy method to lazily create the file strategy
|
abstract GenericFileProducer<T> |
createProducer()
Creates a new producer which is used send messages into the endpoint
|
protected void |
doStart()
Implementations override this method to support customized start/stop.
|
protected void |
doStop()
Implementations override this method to support customized start/stop.
|
String |
getAntExclude() |
GenericFileFilter<T> |
getAntFilter() |
String |
getAntInclude() |
int |
getBufferSize() |
String |
getCharset() |
GenericFileConfiguration |
getConfiguration() |
String |
getDoneFileName() |
List<Exchange> |
getExchanges()
This implementation will not load the file content.
|
String |
getExclude() |
GenericFileExclusiveReadLockStrategy<T> |
getExclusiveReadLockStrategy() |
GenericFileExist |
getFileExist() |
Expression |
getFileName() |
abstract char |
getFileSeparator() |
GenericFileFilter<T> |
getFilter() |
String |
getGeneratedFileName(Message message)
Return the file name that will be auto-generated for the given message if
none is provided
|
GenericFileProcessStrategy<T> |
getGenericFileProcessStrategy() |
Expression |
getIdempotentKey() |
IdempotentRepository<String> |
getIdempotentRepository() |
String |
getInclude() |
IdempotentRepository<String> |
getInProgressRepository() |
String |
getLocalWorkDirectory() |
int |
getMaxDepth() |
int |
getMaxMessagesPerPoll() |
int |
getMinDepth() |
Expression |
getMove() |
Expression |
getMoveExisting() |
Expression |
getMoveFailed() |
ExceptionHandler |
getOnCompletionExceptionHandler() |
protected Map<String,Object> |
getParamsAsMap() |
Expression |
getPreMove() |
GenericFileProcessStrategy<T> |
getProcessStrategy() |
String |
getReadLock() |
long |
getReadLockCheckInterval() |
LoggingLevel |
getReadLockLoggingLevel() |
long |
getReadLockMinAge() |
long |
getReadLockMinLength() |
long |
getReadLockTimeout() |
abstract String |
getScheme() |
Comparator<Exchange> |
getSortBy() |
Comparator<GenericFile<T>> |
getSorter() |
Expression |
getTempFileName() |
String |
getTempPrefix() |
abstract boolean |
isAbsolute(String name) |
boolean |
isAllowNullBody() |
boolean |
isAntFilterCaseSensitive() |
boolean |
isAutoCreate() |
boolean |
isDelete() |
boolean |
isDirectoryMustExist() |
protected boolean |
isDoneFile(String fileName)
Is the given file a done file?
This method should only be invoked if a done filename property has been set on this endpoint.
|
boolean |
isEagerDeleteTargetFile() |
boolean |
isEagerMaxMessagesPerPoll() |
boolean |
isFlatten() |
Boolean |
isIdempotent() |
protected boolean |
isIdempotentSet() |
boolean |
isKeepLastModified() |
boolean |
isNoop() |
boolean |
isReadLockDeleteOrphanLockFiles() |
boolean |
isReadLockMarkerFile() |
boolean |
isReadLockRemoveOnCommit() |
boolean |
isReadLockRemoveOnRollback() |
boolean |
isRecursive() |
boolean |
isShuffle() |
boolean |
isSingleton()
Whether this class supports being singleton or not.
|
boolean |
isStartingDirectoryMustExist() |
void |
setAllowNullBody(boolean allowNullBody)
Used to specify if a null body is allowed during file writing.
|
void |
setAntExclude(String antExclude)
Ant style filter exclusion.
|
void |
setAntFilterCaseSensitive(boolean antFilterCaseSensitive)
Sets case sensitive flag on ant fiter
|
void |
setAntInclude(String antInclude)
Ant style filter inclusion.
|
void |
setAutoCreate(boolean autoCreate)
Automatically create missing directories in the file's pathname.
|
void |
setBufferSize(int bufferSize)
Write buffer sized in bytes.
|
void |
setCharset(String charset)
This option is used to specify the encoding of the file.
|
void |
setConfiguration(GenericFileConfiguration configuration) |
void |
setDelete(boolean delete)
If true, the file will be deleted after it is processed successfully.
|
void |
setDirectoryMustExist(boolean directoryMustExist)
Similar to startingDirectoryMustExist but this applies during polling recursive sub directories.
|
void |
setDoneFileName(String doneFileName)
If provided, then Camel will write a 2nd done file when the original file has been written.
|
void |
setEagerDeleteTargetFile(boolean eagerDeleteTargetFile)
Whether or not to eagerly delete any existing target file.
|
void |
setEagerMaxMessagesPerPoll(boolean eagerMaxMessagesPerPoll)
Allows for controlling whether the limit from maxMessagesPerPoll is eager or not.
|
void |
setExclude(String exclude)
Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive).
|
void |
setExclusiveReadLockStrategy(GenericFileExclusiveReadLockStrategy<T> exclusiveReadLockStrategy)
Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation.
|
void |
setFileExist(GenericFileExist fileExist)
What to do if a file already exists with the same name.
|
void |
setFileName(Expression fileName)
Use Expression such as File Language to dynamically set the filename.
|
void |
setFileName(String fileLanguageExpression) |
void |
setFilter(GenericFileFilter<T> filter)
Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class.
|
void |
setFlatten(boolean flatten)
Flatten is used to flatten the file name path to strip any leading paths, so it's just the file name.
|
void |
setIdempotent(Boolean idempotent)
Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files.
|
void |
setIdempotentKey(Expression idempotentKey)
To use a custom idempotent key.
|
void |
setIdempotentKey(String expression) |
void |
setIdempotentRepository(IdempotentRepository<String> idempotentRepository)
A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository
if none is specified and idempotent is true.
|
void |
setInclude(String include)
Is used to include files, if filename matches the regex pattern (matching is case in-senstive).
|
void |
setInProgressRepository(IdempotentRepository<String> inProgressRepository)
A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository.
|
void |
setKeepLastModified(boolean keepLastModified)
Will keep the last modified timestamp from the source file (if any).
|
void |
setLocalWorkDirectory(String localWorkDirectory)
When consuming, a local work directory can be used to store the remote file content directly in local files,
to avoid loading the content into memory.
|
void |
setMaxDepth(int maxDepth)
The maximum depth to traverse when recursively processing a directory.
|
void |
setMaxMessagesPerPoll(int maxMessagesPerPoll)
To define a maximum messages to gather per poll.
|
void |
setMinDepth(int minDepth)
The minimum depth to start processing when recursively processing a directory.
|
void |
setMove(Expression move)
Expression (such as Simple Language) used to dynamically set the filename when moving it after processing.
|
void |
setMove(String fileLanguageExpression) |
void |
setMoveExisting(Expression moveExisting)
Expression (such as File Language) used to compute file name to use when fileExist=Move is configured.
|
void |
setMoveExisting(String fileLanguageExpression) |
void |
setMoveFailed(Expression moveFailed)
Sets the move failure expression based on Simple language.
|
void |
setMoveFailed(String fileLanguageExpression) |
void |
setNoop(boolean noop)
If true, the file is not moved or deleted in any way.
|
void |
setOnCompletionExceptionHandler(ExceptionHandler onCompletionExceptionHandler)
To use a custom
ExceptionHandler to handle any thrown exceptions that happens
during the file on completion process where the consumer does either a commit or rollback. |
void |
setPreMove(Expression preMove)
Expression (such as File Language) used to dynamically set the filename when moving it before processing.
|
void |
setPreMove(String fileLanguageExpression) |
void |
setProcessStrategy(GenericFileProcessStrategy<T> processStrategy)
A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock option or similar.
|
void |
setReadLock(String readLock)
Used by consumer, to only poll the files if it has exclusive read-lock on the file (i.e.
|
void |
setReadLockCheckInterval(long readLockCheckInterval)
Interval in millis for the read-lock, if supported by the read lock.
|
void |
setReadLockDeleteOrphanLockFiles(boolean readLockDeleteOrphanLockFiles)
Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may
have been left on the file system, if Camel was not properly shutdown (such as a JVM crash).
|
void |
setReadLockLoggingLevel(LoggingLevel readLockLoggingLevel)
Logging level used when a read lock could not be acquired.
|
void |
setReadLockMarkerFile(boolean readLockMarkerFile)
Whether to use marker file with the changed, rename, or exclusive read lock types.
|
void |
setReadLockMinAge(long readLockMinAge)
This option applied only for readLock=change.
|
void |
setReadLockMinLength(long readLockMinLength)
This option applied only for readLock=changed.
|
void |
setReadLockRemoveOnCommit(boolean readLockRemoveOnCommit)
This option applied only for readLock=idempotent.
|
void |
setReadLockRemoveOnRollback(boolean readLockRemoveOnRollback)
This option applied only for readLock=idempotent.
|
void |
setReadLockTimeout(long readLockTimeout)
Optional timeout in millis for the read-lock, if supported by the read-lock.
|
void |
setRecursive(boolean recursive)
If a directory, will look for files in all the sub-directories as well.
|
void |
setShuffle(boolean shuffle)
To shuffle the list of files (sort in random order)
|
void |
setSortBy(Comparator<Exchange> sortBy)
Built-in sort by using the File Language.
|
void |
setSortBy(String expression) |
void |
setSortBy(String expression,
boolean reverse) |
void |
setSorter(Comparator<GenericFile<T>> sorter)
Pluggable sorter as a java.util.Comparator
|
void |
setStartingDirectoryMustExist(boolean startingDirectoryMustExist)
Whether the starting directory must exist.
|
void |
setTempFileName(Expression tempFileName)
The same as tempPrefix option but offering a more fine grained control on the naming of the temporary filename as it uses the File Language.
|
void |
setTempFileName(String tempFileNameExpression) |
void |
setTempPrefix(String tempPrefix)
This option is used to write the file using a temporary name and then, after the write is complete,
rename it to the real name.
|
configurePollingConsumer, configureProperties, configureScheduledPollConsumerProperties, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getDelay, getInitialDelay, getPollStrategy, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getTimeUnit, initConsumerProperties, isGreedy, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, setBackoffErrorThreshold, setBackoffIdleThreshold, setBackoffMultiplier, setDelay, setGreedy, setInitialDelay, setPollStrategy, setRunLoggingLevel, setScheduledExecutorService, setScheduler, setScheduler, setSchedulerProperties, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelay
configureConsumer, createEndpointConfiguration, createEndpointUri, createExchange, createExchange, createExchange, createPollingConsumer, equals, getCamelContext, getComponent, getConsumerProperties, getEndpointConfiguration, getEndpointKey, getEndpointUri, getExceptionHandler, getExchangePattern, getId, getPollingConsumerBlockTimeout, getPollingConsumerQueueSize, hashCode, isBridgeErrorHandler, isLenientProperties, isPollingConsumerBlockWhenFull, isSynchronous, setBridgeErrorHandler, setCamelContext, setConsumerProperties, setEndpointConfiguration, setEndpointUri, setEndpointUriIfNotSpecified, setExceptionHandler, setExchangePattern, setPollingConsumerBlockTimeout, setPollingConsumerBlockWhenFull, setPollingConsumerQueueSize, setProperties, setSynchronous, toString
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
configureProperties, createExchange, createExchange, createExchange, createPollingConsumer, getCamelContext, getEndpointConfiguration, getEndpointKey, getEndpointUri, isLenientProperties, setCamelContext
protected static final String DEFAULT_STRATEGYFACTORY_CLASS
protected static final int DEFAULT_IDEMPOTENT_CACHE_SIZE
protected final org.slf4j.Logger log
@UriParam(label="advanced", defaultValue="true") protected boolean autoCreate
@UriParam(label="advanced", defaultValue="131072") protected int bufferSize
@UriParam(javaType="java.lang.String") protected Expression fileName
@UriParam protected String doneFileName
@UriParam(label="producer") protected boolean flatten
@UriParam(label="producer", defaultValue="Override") protected GenericFileExist fileExist
@UriParam(label="producer") protected String tempPrefix
@UriParam(label="producer", javaType="java.lang.String") protected Expression tempFileName
@UriParam(label="producer,advanced", defaultValue="true") protected boolean eagerDeleteTargetFile
@UriParam(label="producer,advanced") protected boolean keepLastModified
@UriParam(label="producer,advanced") protected boolean allowNullBody
@UriParam protected GenericFileConfiguration configuration
@UriParam(label="consumer,advanced") protected GenericFileProcessStrategy<T> processStrategy
@UriParam(label="consumer,advanced") protected IdempotentRepository<String> inProgressRepository
@UriParam(label="consumer,advanced") protected String localWorkDirectory
@UriParam(label="consumer,advanced") protected boolean startingDirectoryMustExist
@UriParam(label="consumer,advanced") protected boolean directoryMustExist
@UriParam(label="consumer") protected boolean noop
@UriParam(label="consumer") protected boolean recursive
@UriParam(label="consumer") protected boolean delete
@UriParam(label="consumer,filter") protected int maxMessagesPerPoll
@UriParam(label="consumer,filter", defaultValue="true") protected boolean eagerMaxMessagesPerPoll
@UriParam(label="consumer,filter", defaultValue="2147483647") protected int maxDepth
@UriParam(label="consumer,filter") protected int minDepth
@UriParam(label="consumer,filter", javaType="java.lang.String") protected Expression move
@UriParam(label="consumer", javaType="java.lang.String") protected Expression moveFailed
@UriParam(label="consumer", javaType="java.lang.String") protected Expression preMove
@UriParam(label="producer", javaType="java.lang.String") protected Expression moveExisting
@UriParam(label="consumer,filter", defaultValue="false") protected Boolean idempotent
@UriParam(label="consumer,filter", javaType="java.lang.String") protected Expression idempotentKey
@UriParam(label="consumer,filter") protected IdempotentRepository<String> idempotentRepository
@UriParam(label="consumer,filter") protected GenericFileFilter<T> filter
@UriParam(label="consumer,filter", defaultValue="true") protected boolean antFilterCaseSensitive
protected volatile AntPathMatcherGenericFileFilter<T> antFilter
@UriParam(label="consumer,filter") protected String antInclude
@UriParam(label="consumer,filter") protected String antExclude
@UriParam(label="consumer,sort") protected Comparator<GenericFile<T>> sorter
@UriParam(label="consumer,sort", javaType="java.lang.String") protected Comparator<Exchange> sortBy
@UriParam(label="consumer,sort") protected boolean shuffle
@UriParam(label="consumer,lock", enums="none,markerFile,fileLock,rename,changed,idempotent") protected String readLock
@UriParam(label="consumer,lock", defaultValue="1000") protected long readLockCheckInterval
@UriParam(label="consumer,lock", defaultValue="10000") protected long readLockTimeout
@UriParam(label="consumer,lock", defaultValue="true") protected boolean readLockMarkerFile
@UriParam(label="consumer,lock", defaultValue="true") protected boolean readLockDeleteOrphanLockFiles
@UriParam(label="consumer,lock", defaultValue="WARN") protected LoggingLevel readLockLoggingLevel
@UriParam(label="consumer,lock", defaultValue="1") protected long readLockMinLength
@UriParam(label="consumer,lock", defaultValue="0") protected long readLockMinAge
@UriParam(label="consumer,lock", defaultValue="true") protected boolean readLockRemoveOnRollback
@UriParam(label="consumer,lock") protected boolean readLockRemoveOnCommit
@UriParam(label="consumer,lock") protected GenericFileExclusiveReadLockStrategy<T> exclusiveReadLockStrategy
@UriParam(label="consumer,advanced") protected ExceptionHandler onCompletionExceptionHandler
public GenericFileEndpoint()
public GenericFileEndpoint(String endpointUri, Component component)
public boolean isSingleton()
IsSingleton
isSingleton
in interface IsSingleton
public abstract GenericFileConsumer<T> createConsumer(Processor processor) throws Exception
Endpoint
createConsumer
in interface Endpoint
processor
- the given processorException
- can be thrownpublic abstract GenericFileProducer<T> createProducer() throws Exception
Endpoint
createProducer
in interface Endpoint
Exception
- can be thrownpublic abstract Exchange createExchange(GenericFile<T> file)
public abstract char getFileSeparator()
public abstract boolean isAbsolute(String name)
public String getGeneratedFileName(Message message)
public GenericFileProcessStrategy<T> getGenericFileProcessStrategy()
public List<Exchange> getExchanges()
getExchanges
in interface BrowsableEndpoint
protected GenericFileProcessStrategy<T> createGenericFileStrategy()
public boolean isNoop()
public void setNoop(boolean noop)
public boolean isRecursive()
public void setRecursive(boolean recursive)
public String getInclude()
public void setInclude(String include)
public String getExclude()
public void setExclude(String exclude)
public String getAntInclude()
public void setAntInclude(String antInclude)
public String getAntExclude()
public void setAntExclude(String antExclude)
public boolean isAntFilterCaseSensitive()
public void setAntFilterCaseSensitive(boolean antFilterCaseSensitive)
public GenericFileFilter<T> getAntFilter()
public boolean isDelete()
public void setDelete(boolean delete)
public boolean isFlatten()
public void setFlatten(boolean flatten)
public Expression getMove()
public void setMove(Expression move)
public void setMove(String fileLanguageExpression)
setMove(org.apache.camel.Expression)
public Expression getMoveFailed()
public void setMoveFailed(Expression moveFailed)
public void setMoveFailed(String fileLanguageExpression)
public Expression getPreMove()
public void setPreMove(Expression preMove)
public void setPreMove(String fileLanguageExpression)
public Expression getMoveExisting()
public void setMoveExisting(Expression moveExisting)
public void setMoveExisting(String fileLanguageExpression)
public Expression getFileName()
public void setFileName(Expression fileName)
public void setFileName(String fileLanguageExpression)
public String getDoneFileName()
public void setDoneFileName(String doneFileName)
public Boolean isIdempotent()
public String getCharset()
public void setCharset(String charset)
protected boolean isIdempotentSet()
public void setIdempotent(Boolean idempotent)
public Expression getIdempotentKey()
public void setIdempotentKey(Expression idempotentKey)
public void setIdempotentKey(String expression)
public IdempotentRepository<String> getIdempotentRepository()
public void setIdempotentRepository(IdempotentRepository<String> idempotentRepository)
public GenericFileFilter<T> getFilter()
public void setFilter(GenericFileFilter<T> filter)
public Comparator<GenericFile<T>> getSorter()
public void setSorter(Comparator<GenericFile<T>> sorter)
public Comparator<Exchange> getSortBy()
public void setSortBy(Comparator<Exchange> sortBy)
public boolean isShuffle()
public void setShuffle(boolean shuffle)
public String getTempPrefix()
public void setTempPrefix(String tempPrefix)
public Expression getTempFileName()
public void setTempFileName(Expression tempFileName)
public void setTempFileName(String tempFileNameExpression)
public boolean isEagerDeleteTargetFile()
public void setEagerDeleteTargetFile(boolean eagerDeleteTargetFile)
public GenericFileConfiguration getConfiguration()
public void setConfiguration(GenericFileConfiguration configuration)
public GenericFileExclusiveReadLockStrategy<T> getExclusiveReadLockStrategy()
public void setExclusiveReadLockStrategy(GenericFileExclusiveReadLockStrategy<T> exclusiveReadLockStrategy)
public String getReadLock()
public void setReadLock(String readLock)
public long getReadLockCheckInterval()
public void setReadLockCheckInterval(long readLockCheckInterval)
public long getReadLockTimeout()
public void setReadLockTimeout(long readLockTimeout)
public boolean isReadLockMarkerFile()
public void setReadLockMarkerFile(boolean readLockMarkerFile)
public boolean isReadLockDeleteOrphanLockFiles()
public void setReadLockDeleteOrphanLockFiles(boolean readLockDeleteOrphanLockFiles)
public LoggingLevel getReadLockLoggingLevel()
public void setReadLockLoggingLevel(LoggingLevel readLockLoggingLevel)
public long getReadLockMinLength()
public void setReadLockMinLength(long readLockMinLength)
public long getReadLockMinAge()
public void setReadLockMinAge(long readLockMinAge)
public boolean isReadLockRemoveOnRollback()
public void setReadLockRemoveOnRollback(boolean readLockRemoveOnRollback)
public boolean isReadLockRemoveOnCommit()
public void setReadLockRemoveOnCommit(boolean readLockRemoveOnCommit)
public int getBufferSize()
public void setBufferSize(int bufferSize)
public GenericFileExist getFileExist()
public void setFileExist(GenericFileExist fileExist)
public boolean isAutoCreate()
public void setAutoCreate(boolean autoCreate)
public boolean isStartingDirectoryMustExist()
public void setStartingDirectoryMustExist(boolean startingDirectoryMustExist)
public boolean isDirectoryMustExist()
public void setDirectoryMustExist(boolean directoryMustExist)
public GenericFileProcessStrategy<T> getProcessStrategy()
public void setProcessStrategy(GenericFileProcessStrategy<T> processStrategy)
public String getLocalWorkDirectory()
public void setLocalWorkDirectory(String localWorkDirectory)
public int getMaxMessagesPerPoll()
public void setMaxMessagesPerPoll(int maxMessagesPerPoll)
public boolean isEagerMaxMessagesPerPoll()
public void setEagerMaxMessagesPerPoll(boolean eagerMaxMessagesPerPoll)
public int getMaxDepth()
public void setMaxDepth(int maxDepth)
public int getMinDepth()
public void setMinDepth(int minDepth)
public IdempotentRepository<String> getInProgressRepository()
public void setInProgressRepository(IdempotentRepository<String> inProgressRepository)
public boolean isKeepLastModified()
public void setKeepLastModified(boolean keepLastModified)
public boolean isAllowNullBody()
public void setAllowNullBody(boolean allowNullBody)
public ExceptionHandler getOnCompletionExceptionHandler()
public void setOnCompletionExceptionHandler(ExceptionHandler onCompletionExceptionHandler)
ExceptionHandler
to handle any thrown exceptions that happens
during the file on completion process where the consumer does either a commit or rollback. The default
implementation will log any exception at WARN level and ignore.public void configureMessage(GenericFile<T> file, Message message)
public void configureExchange(Exchange exchange)
protected String configureMoveOrPreMoveExpression(String expression)
expression
- the original string inputprotected Map<String,Object> getParamsAsMap()
protected String createDoneFileName(String fileName)
fileName
- the file nameprotected boolean isDoneFile(String fileName)
fileName
- the file nameprotected void doStart() throws Exception
ServiceSupport
ServiceSupport.doStop()
for more details.doStart
in class ScheduledPollEndpoint
Exception
ServiceSupport.doStop()
protected void doStop() throws Exception
ServiceSupport
ServiceSupport.doStop()
method when
the service is being stopped. This method will also be invoked
if the service is still in uninitialized state (eg has not
been started). The method is always called to allow the service
to do custom logic when the service is being stopped, such as when
CamelContext
is shutting down.doStop
in class ScheduledPollEndpoint
Exception
ServiceSupport.doStart()
Apache Camel