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.
|
protected void |
finalize() |
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 void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
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)