public abstract class NamedLockFactorySupport extends java.lang.Object implements NamedLockFactory
NamedLockFactory
implementations providing reference counting.Modifier and Type | Class and Description |
---|---|
private static class |
NamedLockFactorySupport.NamedLockHolder |
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.ConcurrentMap<java.lang.String,NamedLockFactorySupport.NamedLockHolder> |
locks |
protected org.slf4j.Logger |
logger |
Constructor and Description |
---|
NamedLockFactorySupport() |
Modifier and Type | Method and Description |
---|---|
void |
closeLock(java.lang.String name) |
protected abstract NamedLockSupport |
createLock(java.lang.String name)
Implementations shall create and return
NamedLockSupport for given name , this method must never
return null . |
protected void |
destroyLock(java.lang.String name)
Implementation may override this (empty) method to perform some sort of implementation specific cleanup for
given lock name.
|
NamedLockSupport |
getLock(java.lang.String name)
Creates or reuses existing
NamedLock . |
void |
shutdown()
Performs a clean shut down of the factory.
|
protected final org.slf4j.Logger logger
private final java.util.concurrent.ConcurrentMap<java.lang.String,NamedLockFactorySupport.NamedLockHolder> locks
public NamedLockSupport getLock(java.lang.String name)
NamedLockFactory
NamedLock
. Returns instance MUST BE treated as "resource", best in
try-with-resource block.getLock
in interface NamedLockFactory
name
- the lock name, must not be null
.null
.public void shutdown()
NamedLockFactory
shutdown
in interface NamedLockFactory
public void closeLock(java.lang.String name)
protected abstract NamedLockSupport createLock(java.lang.String name)
NamedLockSupport
for given name
, this method must never
return null
.protected void destroyLock(java.lang.String name)