public class MarkerFileExclusiveReadLockStrategy extends Object implements GenericFileExclusiveReadLockStrategy<File>
| Constructor and Description |
|---|
MarkerFileExclusiveReadLockStrategy() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
acquireExclusiveReadLock(GenericFileOperations<File> operations,
GenericFile<File> file,
Exchange exchange)
Acquires exclusive read lock to the file.
|
protected void |
doReleaseExclusiveReadLock(GenericFileOperations<File> operations,
GenericFile<File> file,
Exchange exchange) |
void |
prepareOnStartup(GenericFileOperations<File> operations,
GenericFileEndpoint<File> endpoint)
Allows custom logic to be run on startup preparing the strategy, such as removing old lock files etc.
|
void |
releaseExclusiveReadLockOnAbort(GenericFileOperations<File> operations,
GenericFile<File> file,
Exchange exchange)
Releases the exclusive read lock granted by the acquireExclusiveReadLock method due an abort operation (acquireExclusiveReadLock returned false).
|
void |
releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations,
GenericFile<File> file,
Exchange exchange)
Releases the exclusive read lock granted by the acquireExclusiveReadLock method due a commit operation (Exchange processing succeeded)
|
void |
releaseExclusiveReadLockOnRollback(GenericFileOperations<File> operations,
GenericFile<File> file,
Exchange exchange)
Releases the exclusive read lock granted by the acquireExclusiveReadLock method due a rollback operation (Exchange processing failed)
|
void |
setCheckInterval(long checkInterval)
Sets the check interval period.
|
void |
setDeleteOrphanLockFiles(boolean deleteOrphanLockFiles)
Sets whether orphan marker files should be deleted upon startup
|
void |
setMarkerFiler(boolean markerFile)
Sets whether marker file should be used or not.
|
void |
setReadLockLoggingLevel(LoggingLevel readLockLoggingLevel)
Sets logging level used when a read lock could not be acquired.
|
void |
setTimeout(long timeout)
Sets an optional timeout period.
|
public MarkerFileExclusiveReadLockStrategy()
public void prepareOnStartup(GenericFileOperations<File> operations, GenericFileEndpoint<File> endpoint)
GenericFileExclusiveReadLockStrategyprepareOnStartup in interface GenericFileExclusiveReadLockStrategy<File>operations - generic file operationsendpoint - the endpointpublic boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange) throws Exception
GenericFileExclusiveReadLockStrategyacquireExclusiveReadLock in interface GenericFileExclusiveReadLockStrategy<File>operations - generic file operationsfile - the fileexchange - the exchangeException - can be thrown in case of errorspublic void releaseExclusiveReadLockOnAbort(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange) throws Exception
GenericFileExclusiveReadLockStrategyreleaseExclusiveReadLockOnAbort in interface GenericFileExclusiveReadLockStrategy<File>operations - generic file operationsfile - the fileexchange - the exchangeException - can be thrown in case of errorspublic void releaseExclusiveReadLockOnRollback(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange) throws Exception
GenericFileExclusiveReadLockStrategyreleaseExclusiveReadLockOnRollback in interface GenericFileExclusiveReadLockStrategy<File>operations - generic file operationsfile - the fileexchange - the exchangeException - can be thrown in case of errorspublic void releaseExclusiveReadLockOnCommit(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange) throws Exception
GenericFileExclusiveReadLockStrategyreleaseExclusiveReadLockOnCommit in interface GenericFileExclusiveReadLockStrategy<File>operations - generic file operationsfile - the fileexchange - the exchangeException - can be thrown in case of errorsprotected void doReleaseExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange) throws Exception
Exceptionpublic void setTimeout(long timeout)
GenericFileExclusiveReadLockStrategysetTimeout in interface GenericFileExclusiveReadLockStrategy<File>timeout - period in millispublic void setCheckInterval(long checkInterval)
GenericFileExclusiveReadLockStrategysetCheckInterval in interface GenericFileExclusiveReadLockStrategy<File>checkInterval - interval in millispublic void setReadLockLoggingLevel(LoggingLevel readLockLoggingLevel)
GenericFileExclusiveReadLockStrategysetReadLockLoggingLevel in interface GenericFileExclusiveReadLockStrategy<File>readLockLoggingLevel - LoggingLevelpublic void setMarkerFiler(boolean markerFile)
GenericFileExclusiveReadLockStrategysetMarkerFiler in interface GenericFileExclusiveReadLockStrategy<File>markerFile - true to use marker files.public void setDeleteOrphanLockFiles(boolean deleteOrphanLockFiles)
GenericFileExclusiveReadLockStrategysetDeleteOrphanLockFiles in interface GenericFileExclusiveReadLockStrategy<File>deleteOrphanLockFiles - true to delete files, false to skip this checkApache Camel