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)
GenericFileExclusiveReadLockStrategy
prepareOnStartup
in interface GenericFileExclusiveReadLockStrategy<File>
operations
- generic file operationsendpoint
- the endpointpublic boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, Exchange exchange) throws Exception
GenericFileExclusiveReadLockStrategy
acquireExclusiveReadLock
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
GenericFileExclusiveReadLockStrategy
releaseExclusiveReadLockOnAbort
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
GenericFileExclusiveReadLockStrategy
releaseExclusiveReadLockOnRollback
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
GenericFileExclusiveReadLockStrategy
releaseExclusiveReadLockOnCommit
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
Exception
public void setTimeout(long timeout)
GenericFileExclusiveReadLockStrategy
setTimeout
in interface GenericFileExclusiveReadLockStrategy<File>
timeout
- period in millispublic void setCheckInterval(long checkInterval)
GenericFileExclusiveReadLockStrategy
setCheckInterval
in interface GenericFileExclusiveReadLockStrategy<File>
checkInterval
- interval in millispublic void setReadLockLoggingLevel(LoggingLevel readLockLoggingLevel)
GenericFileExclusiveReadLockStrategy
setReadLockLoggingLevel
in interface GenericFileExclusiveReadLockStrategy<File>
readLockLoggingLevel
- LoggingLevelpublic void setMarkerFiler(boolean markerFile)
GenericFileExclusiveReadLockStrategy
setMarkerFiler
in interface GenericFileExclusiveReadLockStrategy<File>
markerFile
- true to use marker files.public void setDeleteOrphanLockFiles(boolean deleteOrphanLockFiles)
GenericFileExclusiveReadLockStrategy
setDeleteOrphanLockFiles
in interface GenericFileExclusiveReadLockStrategy<File>
deleteOrphanLockFiles
- true to delete files, false to skip this checkApache Camel