org.apache.camel.component.file.strategy
Class FileChangedExclusiveReadLockStrategy
java.lang.Object
org.apache.camel.component.file.strategy.MarkerFileExclusiveReadLockStrategy
org.apache.camel.component.file.strategy.FileChangedExclusiveReadLockStrategy
- All Implemented Interfaces:
- GenericFileExclusiveReadLockStrategy<File>
public class FileChangedExclusiveReadLockStrategy
- extends MarkerFileExclusiveReadLockStrategy
Acquires exclusive read lock to the given file by checking whether the file is being
changed by scanning the file at different intervals (to detect changes).
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FileChangedExclusiveReadLockStrategy
public FileChangedExclusiveReadLockStrategy()
acquireExclusiveReadLock
public boolean acquireExclusiveReadLock(GenericFileOperations<File> operations,
GenericFile<File> file,
Exchange exchange)
throws Exception
- Description copied from interface:
GenericFileExclusiveReadLockStrategy
- Acquires exclusive read lock to the file.
- Specified by:
acquireExclusiveReadLock
in interface GenericFileExclusiveReadLockStrategy<File>
- Overrides:
acquireExclusiveReadLock
in class MarkerFileExclusiveReadLockStrategy
- 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
getTimeout
public long getTimeout()
setTimeout
public void setTimeout(long timeout)
- Description copied from interface:
GenericFileExclusiveReadLockStrategy
- Sets 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:
setTimeout
in interface GenericFileExclusiveReadLockStrategy<File>
- Overrides:
setTimeout
in class MarkerFileExclusiveReadLockStrategy
- Parameters:
timeout
- period in millis
getCheckInterval
public long getCheckInterval()
setCheckInterval
public void setCheckInterval(long checkInterval)
- Description copied from interface:
GenericFileExclusiveReadLockStrategy
- Sets 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:
setCheckInterval
in interface GenericFileExclusiveReadLockStrategy<File>
- Overrides:
setCheckInterval
in class MarkerFileExclusiveReadLockStrategy
- Parameters:
checkInterval
- interval in millis
Apache CAMEL