Class NamedLockPattern


  • public final class NamedLockPattern
    extends java.lang.Object
    Named lock implementation (I named it "Named-lock pattern"). // try to acquire named lock boolean lockAcquired = namedLocker.acquireSynchronizationObject(namedObject, getLockTimeout()); if (lockAcquired) { try { // ... so sth here } finally { namedLocker.releaseSynchronizationObject(name); } } else { // .. failed to obtain synchronization lock for component 'namedObject', possible deadlock }
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean acquireSynchronizationObject​(java.lang.Object name, long msec)
      Acquire synchronization lock for named object.
      void releaseSynchronizationObject​(java.lang.Object name)
      Release synchronization lock for named object.
      void releaseSynchronizationObject​(java.lang.Object name, boolean release)
      Release synchronization lock for named object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • NamedLockPattern

        public NamedLockPattern()
    • Method Detail

      • acquireSynchronizationObject

        public boolean acquireSynchronizationObject​(java.lang.Object name,
                                                    long msec)
        Acquire synchronization lock for named object.
        Parameters:
        name - name of the object whose lock to acquire.
        msec - the number of milliseconds to wait. An argument less than or equal to zero means not to wait at all.
        Returns:
        true if acquired, false otherwise.
      • releaseSynchronizationObject

        public void releaseSynchronizationObject​(java.lang.Object name)
        Release synchronization lock for named object.
        Parameters:
        name - name of the object whose lock to release.
      • releaseSynchronizationObject

        public void releaseSynchronizationObject​(java.lang.Object name,
                                                 boolean release)
        Release synchronization lock for named object.
        Parameters:
        name - name of the object whose lock to release.
        release - set to false if there is no need to call release on synchronization lock.