Class GenericFileProcessStrategySupport<T>
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.component.file.strategy.GenericFileProcessStrategySupport<T>
- All Implemented Interfaces:
AutoCloseable
,org.apache.camel.CamelContextAware
,GenericFileProcessStrategy<T>
,org.apache.camel.Service
,org.apache.camel.ShutdownableService
,org.apache.camel.StatefulService
,org.apache.camel.SuspendableService
- Direct Known Subclasses:
GenericFileDeleteProcessStrategy
,GenericFileNoOpProcessStrategy
,GenericFileRenameProcessStrategy
public abstract class GenericFileProcessStrategySupport<T>
extends org.apache.camel.support.service.ServiceSupport
implements GenericFileProcessStrategy<T>, org.apache.camel.CamelContextAware
Base class for implementations of
GenericFileProcessStrategy
.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.apache.camel.CamelContext
protected GenericFileExclusiveReadLockStrategy<T>
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
abort
(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint, org.apache.camel.Exchange exchange, GenericFile<T> file) Called when a begin is aborted, for example to release any resources which may have been acquired during theGenericFileProcessStrategy.begin(GenericFileOperations, GenericFileEndpoint, org.apache.camel.Exchange, GenericFile)
operation.boolean
begin
(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint, org.apache.camel.Exchange exchange, GenericFile<T> file) Called when work is about to begin on this file.void
commit
(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint, org.apache.camel.Exchange exchange, GenericFile<T> file) Releases any file locks and possibly deletes or moves the file after successful processingprotected void
deleteLocalWorkFile
(org.apache.camel.Exchange exchange) protected void
protected void
doStart()
protected void
doStop()
org.apache.camel.CamelContext
void
prepareOnStartup
(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint) Allows custom logic to be run on first poll preparing the strategy, such as removing old lock files etc.protected GenericFile<T>
renameFile
(GenericFileOperations<T> operations, GenericFile<T> from, GenericFile<T> to) void
rollback
(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint, org.apache.camel.Exchange exchange, GenericFile<T> file) Releases any file locks and possibly deletes or moves the file after unsuccessful processingvoid
setCamelContext
(org.apache.camel.CamelContext camelContext) void
setExclusiveReadLockStrategy
(GenericFileExclusiveReadLockStrategy<T> exclusiveReadLockStrategy) Methods inherited from class org.apache.camel.support.service.BaseService
build, doBuild, doFail, doInit, doLifecycleChange, doResume, doSuspend, 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, toString, wait, wait, wait
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
-
exclusiveReadLockStrategy
-
camelContext
protected org.apache.camel.CamelContext camelContext
-
-
Constructor Details
-
GenericFileProcessStrategySupport
public GenericFileProcessStrategySupport()
-
-
Method Details
-
getCamelContext
public org.apache.camel.CamelContext getCamelContext()- Specified by:
getCamelContext
in interfaceorg.apache.camel.CamelContextAware
-
setCamelContext
public void setCamelContext(org.apache.camel.CamelContext camelContext) - Specified by:
setCamelContext
in interfaceorg.apache.camel.CamelContextAware
-
prepareOnStartup
public void prepareOnStartup(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint) throws Exception Description copied from interface:GenericFileProcessStrategy
Allows custom logic to be run on first poll preparing the strategy, such as removing old lock files etc.- Specified by:
prepareOnStartup
in interfaceGenericFileProcessStrategy<T>
- Parameters:
operations
- file operationsendpoint
- the endpoint- Throws:
Exception
- can be thrown in case of errors which causes poll to fail
-
begin
public boolean begin(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint, org.apache.camel.Exchange exchange, GenericFile<T> file) throws Exception Description copied from interface:GenericFileProcessStrategy
Called when work is about to begin on this file. This method may attempt to acquire some file lock before returning true; returning false if the file lock could not be obtained so that the file should be ignored.- Specified by:
begin
in interfaceGenericFileProcessStrategy<T>
- Parameters:
operations
- file operationsendpoint
- the endpointexchange
- the exchangefile
- the file- Returns:
- true if the file can be processed (such as if a file lock could be obtained)
- Throws:
Exception
- can be thrown in case of errors
-
abort
public void abort(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint, org.apache.camel.Exchange exchange, GenericFile<T> file) throws Exception Description copied from interface:GenericFileProcessStrategy
Called when a begin is aborted, for example to release any resources which may have been acquired during theGenericFileProcessStrategy.begin(GenericFileOperations, GenericFileEndpoint, org.apache.camel.Exchange, GenericFile)
operation.- Specified by:
abort
in interfaceGenericFileProcessStrategy<T>
- Parameters:
operations
- file operationsendpoint
- the endpointexchange
- the exchangefile
- the file- Throws:
Exception
- can be thrown in case of errors
-
commit
public void commit(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint, org.apache.camel.Exchange exchange, GenericFile<T> file) throws Exception Description copied from interface:GenericFileProcessStrategy
Releases any file locks and possibly deletes or moves the file after successful processing- Specified by:
commit
in interfaceGenericFileProcessStrategy<T>
- Parameters:
operations
- file operationsendpoint
- the endpointexchange
- the exchangefile
- the file- Throws:
Exception
- can be thrown in case of errors
-
rollback
public void rollback(GenericFileOperations<T> operations, GenericFileEndpoint<T> endpoint, org.apache.camel.Exchange exchange, GenericFile<T> file) throws Exception Description copied from interface:GenericFileProcessStrategy
Releases any file locks and possibly deletes or moves the file after unsuccessful processing- Specified by:
rollback
in interfaceGenericFileProcessStrategy<T>
- Parameters:
operations
- file operationsendpoint
- the endpointexchange
- the exchangefile
- the file- Throws:
Exception
- can be thrown in case of errors
-
getExclusiveReadLockStrategy
-
setExclusiveReadLockStrategy
public void setExclusiveReadLockStrategy(GenericFileExclusiveReadLockStrategy<T> exclusiveReadLockStrategy) -
renameFile
protected GenericFile<T> renameFile(GenericFileOperations<T> operations, GenericFile<T> from, GenericFile<T> to) -
deleteLocalWorkFile
protected void deleteLocalWorkFile(org.apache.camel.Exchange exchange) -
doStart
- Overrides:
doStart
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
doStop
- Overrides:
doStop
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-
doShutdown
- Overrides:
doShutdown
in classorg.apache.camel.support.service.BaseService
- Throws:
Exception
-