Class FileLockExclusiveReadLockStrategy
java.lang.Object
org.apache.camel.component.file.strategy.MarkerFileExclusiveReadLockStrategy
org.apache.camel.component.file.strategy.FileLockExclusiveReadLockStrategy
- All Implemented Interfaces:
 GenericFileExclusiveReadLockStrategy<File>
Acquires exclusive read lock to the given file. Will wait until the lock is granted. After granting the read lock it
 is released, we just want to make sure that when we start consuming the file its not currently in progress of being
 written by third party.
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionbooleanacquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, org.apache.camel.Exchange exchange) Acquires exclusive read lock to the file.protected voiddoReleaseExclusiveReadLock(GenericFile<File> file, org.apache.camel.Exchange exchange) Perform the releases of the exclusive read lock granted by the acquireExclusiveReadLock method due a commit operation.longvoidprepareOnStartup(GenericFileOperations<File> operations, GenericFileEndpoint<File> endpoint) Allows custom logic to be run on startup preparing the strategy, such as removing old lock files etc.voidsetCheckInterval(long checkInterval) Sets the check interval period.voidsetReadLockLoggingLevel(org.apache.camel.LoggingLevel readLockLoggingLevel) Sets logging level used when a read lock could not be acquired.voidsetTimeout(long timeout) Sets an optional timeout period.Methods inherited from class org.apache.camel.component.file.strategy.MarkerFileExclusiveReadLockStrategy
isTimedOut, releaseExclusiveReadLockOnAbort, releaseExclusiveReadLockOnCommit, releaseExclusiveReadLockOnRollback, setDeleteOrphanLockFiles, setMarkerFiler 
- 
Constructor Details
- 
FileLockExclusiveReadLockStrategy
public FileLockExclusiveReadLockStrategy() 
 - 
 - 
Method Details
- 
prepareOnStartup
public void prepareOnStartup(GenericFileOperations<File> operations, GenericFileEndpoint<File> endpoint) Description copied from interface:GenericFileExclusiveReadLockStrategyAllows custom logic to be run on startup preparing the strategy, such as removing old lock files etc.- Specified by:
 prepareOnStartupin interfaceGenericFileExclusiveReadLockStrategy<File>- Overrides:
 prepareOnStartupin classMarkerFileExclusiveReadLockStrategy- Parameters:
 operations- generic file operationsendpoint- the endpoint
 - 
acquireExclusiveReadLock
public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations, GenericFile<File> file, org.apache.camel.Exchange exchange) throws Exception Description copied from interface:GenericFileExclusiveReadLockStrategyAcquires exclusive read lock to the file.- Specified by:
 acquireExclusiveReadLockin interfaceGenericFileExclusiveReadLockStrategy<File>- Overrides:
 acquireExclusiveReadLockin classMarkerFileExclusiveReadLockStrategy- Parameters:
 operations- generic file operationsfile- the fileexchange- the exchange- Returns:
 - true if read lock was acquired. If false Camel will skip the file and try it on the next poll
 - Throws:
 Exception- can be thrown in case of errors
 - 
doReleaseExclusiveReadLock
protected void doReleaseExclusiveReadLock(GenericFile<File> file, org.apache.camel.Exchange exchange) throws Exception Description copied from class:MarkerFileExclusiveReadLockStrategyPerform the releases of the exclusive read lock granted by the acquireExclusiveReadLock method due a commit operation.- Overrides:
 doReleaseExclusiveReadLockin classMarkerFileExclusiveReadLockStrategy- Parameters:
 file- the fileexchange- the exchange- Throws:
 Exception- can be thrown in case of errors- See Also:
 
 - 
getTimeout
public long getTimeout() - 
setTimeout
public void setTimeout(long timeout) Description copied from interface:GenericFileExclusiveReadLockStrategySets an optional timeout period. If the readlock could not be granted within the time period then the wait is stopped and the acquireExclusiveReadLock method returns false.- Specified by:
 setTimeoutin interfaceGenericFileExclusiveReadLockStrategy<File>- Overrides:
 setTimeoutin classMarkerFileExclusiveReadLockStrategy- Parameters:
 timeout- period in millis
 - 
setCheckInterval
public void setCheckInterval(long checkInterval) Description copied from interface:GenericFileExclusiveReadLockStrategySets the check interval period. The check interval is used for sleeping between attempts to acquire read lock. Setting a high value allows to cater for slow writes in case the producer of the file is slow. The default period is 1000 millis.- Specified by:
 setCheckIntervalin interfaceGenericFileExclusiveReadLockStrategy<File>- Overrides:
 setCheckIntervalin classMarkerFileExclusiveReadLockStrategy- Parameters:
 checkInterval- interval in millis
 - 
setReadLockLoggingLevel
public void setReadLockLoggingLevel(org.apache.camel.LoggingLevel readLockLoggingLevel) Description copied from interface:GenericFileExclusiveReadLockStrategySets logging level used when a read lock could not be acquired. Logging level used when a read lock could not be acquired. The default logging level is WARN- Specified by:
 setReadLockLoggingLevelin interfaceGenericFileExclusiveReadLockStrategy<File>- Overrides:
 setReadLockLoggingLevelin classMarkerFileExclusiveReadLockStrategy- Parameters:
 readLockLoggingLevel- LoggingLevel
 
 -