org.springframework.integration.file.locking
Class NioFileLocker
java.lang.Object
org.springframework.integration.file.filters.AbstractFileListFilter<java.io.File>
org.springframework.integration.file.locking.AbstractFileLockerFilter
org.springframework.integration.file.locking.NioFileLocker
- All Implemented Interfaces:
- FileLocker, FileListFilter<java.io.File>
public class NioFileLocker
- extends AbstractFileLockerFilter
File locking strategy that uses java.nio. The locks taken by FileChannel are shared with all the threads in a single
JVM, so this locking strategy does not prevent files being picked up multiple times within the same JVM.
FileReadingMessageSource
s sharing a Locker will not pick up the same files.
This implementation will acquire or create a FileLock
for the given file. Caching locks might be expensive,
so this locking strategy is not recommended for scenarios where many files are accessed in parallel.
- Since:
- 2.0
Method Summary |
boolean |
isLockable(java.io.File file)
Checks whether the file passed in can be locked by this locker. |
boolean |
lock(java.io.File fileToLock)
Tries to lock the given file and returns true if it was
successful, false otherwise. |
void |
unlock(java.io.File fileToUnlock)
Unlocks the given file. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NioFileLocker
public NioFileLocker()
lock
public boolean lock(java.io.File fileToLock)
- Tries to lock the given file and returns
true
if it was
successful, false
otherwise.
- Parameters:
fileToLock
- the file that should be locked according to this locker
isLockable
public boolean isLockable(java.io.File file)
- Description copied from interface:
FileLocker
- Checks whether the file passed in can be locked by this locker. This method never changes the locked state.
- Returns:
- true if the file was locked by another locker than this locker
unlock
public void unlock(java.io.File fileToUnlock)
- Description copied from interface:
FileLocker
- Unlocks the given file.
- Parameters:
fileToUnlock
- the file that should be unlocked according to this locker