Package org.eclipse.aether.named.support
Class FileLockNamedLock
java.lang.Object
org.eclipse.aether.named.support.NamedLockSupport
org.eclipse.aether.named.support.FileLockNamedLock
- All Implemented Interfaces:
- AutoCloseable,- NamedLock
Named lock that uses 
FileLock. An instance of this class is about ONE LOCK (one file)
 and is possibly used by multiple threads. Each thread (if properly coded re boxing) will try to
 obtain either shared or exclusive lock. As file locks are JVM-scoped (so one JVM can obtain
 same file lock only once), the threads share file lock and synchronize according to it. Still,
 as file lock obtain operation does not block (or in other words, the method that does block
 cannot be controlled for how long it blocks), we are "simulating" thread blocking using
 Retry utility.
 This implementation performs coordination not only on thread (JVM-local) level, but also on
 process level, as long as other parties are using this same "advisory" locking mechanism.- Since:
- 1.7.3
- 
Field SummaryFields inherited from class org.eclipse.aether.named.support.NamedLockSupportlogger
- 
Constructor SummaryConstructorsConstructorDescriptionFileLockNamedLock(NamedLockKey key, FileChannel fileChannel, NamedLockFactorySupport factory) 
- 
Method SummaryModifier and TypeMethodDescriptionprotected booleandoLockExclusively(long time, TimeUnit unit) protected booleandoLockShared(long time, TimeUnit unit) protected voiddoUnlock()Methods inherited from class org.eclipse.aether.named.support.NamedLockSupportclose, diagnosticState, doClose, key, lockExclusively, lockShared, toString, unlock
- 
Constructor Details- 
FileLockNamedLockpublic FileLockNamedLock(NamedLockKey key, FileChannel fileChannel, NamedLockFactorySupport factory) 
 
- 
- 
Method Details
- 
doLockExclusively- Specified by:
- doLockExclusivelyin class- NamedLockSupport
- Throws:
- InterruptedException
 
- 
doUnlock- Specified by:
- doUnlockin class- NamedLockSupport