Class NamedLockPattern


  • public final class NamedLockPattern
    extends 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 }
    Version:
    $Id$
    Author:
    Matej Sekoranja
    • Constructor Detail

      • NamedLockPattern

        public NamedLockPattern()
        Default constructor.
    • Method Detail

      • acquireSynchronizationObject

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

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

        public void releaseSynchronizationObject​(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.