Package org.eclipse.aether.named.support
Class NamedLockFactorySupport
java.lang.Object
org.eclipse.aether.named.support.NamedLockFactorySupport
- All Implemented Interfaces:
NamedLockFactory
- Direct Known Subclasses:
FileLockNamedLockFactory
,HazelcastSemaphoreNamedLockFactory
,LocalReadWriteLockNamedLockFactory
,LocalSemaphoreNamedLockFactory
,NoopNamedLockFactory
,RedissonNamedLockFactorySupport
Support class for
NamedLockFactory
implementations providing reference counting.-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
protected abstract NamedLockSupport
createLock
(String name) Implementations shall create and returnNamedLockSupport
for givenname
, this method must never returnnull
.protected void
destroyLock
(String name) Implementation may override this (empty) method to perform some sort of implementation specific cleanup for given lock name.protected void
finalize()
Creates or reuses existingNamedLock
.void
shutdown()
Performs a clean shut down of the factory.
-
Field Details
-
logger
-
-
Constructor Details
-
NamedLockFactorySupport
public NamedLockFactorySupport()
-
-
Method Details
-
getLock
Description copied from interface:NamedLockFactory
Creates or reuses existingNamedLock
. Returns instance MUST BE treated as "resource", best in try-with-resource block.- Specified by:
getLock
in interfaceNamedLockFactory
- Parameters:
name
- the lock name, must not benull
.- Returns:
- named lock instance, never
null
.
-
shutdown
Description copied from interface:NamedLockFactory
Performs a clean shut down of the factory.- Specified by:
shutdown
in interfaceNamedLockFactory
-
closeLock
-
finalize
-
createLock
Implementations shall create and returnNamedLockSupport
for givenname
, this method must never returnnull
. -
destroyLock
Implementation may override this (empty) method to perform some sort of implementation specific cleanup for given lock name. Invoked when reference count for given name drops to zero and named lock was removed.
-