org.jgroups.blocks
Interface LockManager

All Known Implementing Classes:
DistributedLockManager

Deprecated.

@Deprecated
public interface LockManager

LockManager represents generic lock manager that allows obtaining and releasing locks on objects.

Author:
Roman Rokytskyy (rrokytskyy@acm.org), Robert Schaffar-Taurok (robert@fusion.at)

Method Summary
 void lock(java.lang.Object obj, java.lang.Object owner, int timeout)
          Deprecated. Obtain lock on obj for specified owner.
 void unlock(java.lang.Object obj, java.lang.Object owner)
          Deprecated. Release lock on obj owned by specified owner.
 void unlock(java.lang.Object obj, java.lang.Object owner, boolean releaseMultiLocked)
          Deprecated. Release lock on obj owned by specified owner.
 

Method Detail

lock

void lock(java.lang.Object obj,
          java.lang.Object owner,
          int timeout)
          throws LockNotGrantedException,
                 java.lang.ClassCastException,
                 ChannelException
Deprecated. 
Obtain lock on obj for specified owner. Implementation should try to obtain lock few times within the specified timeout.

Parameters:
obj - obj to lock, usually not full object but object's ID.
owner - object identifying entity that will own the lock.
timeout - maximum time that we grant to obtain a lock.
Throws:
LockNotGrantedException - if lock is not granted within specified period.
java.lang.ClassCastException - if obj and/or owner is not of type that implementation expects to get (for example, when distributed lock manager obtains non-serializable obj or owner).
ChannelException - if something bad happened to communication channel.

unlock

void unlock(java.lang.Object obj,
            java.lang.Object owner)
            throws LockNotReleasedException,
                   java.lang.ClassCastException,
                   ChannelException
Deprecated. 
Release lock on obj owned by specified owner. since 2.2.9 this method is only a wrapper for unlock(Object lockId, Object owner, boolean releaseMultiLocked). Use that with releaseMultiLocked set to true if you want to be able to release multiple locked locks (for example after a merge)

Parameters:
obj - obj to lock, usually not full object but object's ID.
owner - object identifying entity that will own the lock.
Throws:
LockOwnerMismatchException - if lock is owned by another object.
java.lang.ClassCastException - if obj and/or owner is not of type that implementation expects to get (for example, when distributed lock manager obtains non-serializable obj or owner).
ChannelException - if something bad happened to communication channel.
LockNotReleasedException

unlock

void unlock(java.lang.Object obj,
            java.lang.Object owner,
            boolean releaseMultiLocked)
            throws LockNotReleasedException,
                   java.lang.ClassCastException,
                   ChannelException,
                   LockMultiLockedException
Deprecated. 
Release lock on obj owned by specified owner.

Parameters:
obj - obj to lock, usually not full object but object's ID.
owner - object identifying entity that will own the lock.
releaseMultiLocked - force unlocking of the lock if the local lockManager owns the lock even if another lockManager owns the same lock
Throws:
LockOwnerMismatchException - if lock is owned by another object.
java.lang.ClassCastException - if obj and/or owner is not of type that implementation expects to get (for example, when distributed lock manager obtains non-serializable obj or owner).
ChannelException - if something bad happened to communication channel.
LockMultiLockedException - if the lock was unlocked, but another node already held the lock
LockNotReleasedException


Copyright © 1998-2009 Bela Ban / Red Hat. All Rights Reserved.