org.jgroups.blocks.locking
Class LockService
java.lang.Object
org.jgroups.blocks.locking.LockService
public class LockService
- extends java.lang.Object
LockService is the main class for to use for distributed locking functionality. LockService needs access to a
JChannel
and interacts with a locking protocol (e.g. CENTRAL_LOCK
) via events.
When no locking protocol is seen on the channel's stack, LockService will throw an exception at startup. An example
of using LockService is:
JChannel ch=new JChannel("/home/bela/locking.xml); // locking.xml needs to have a locking protocol towards the top
LockService lock_service=new LockService(ch);
ch.connect("lock-cluster");
Lock lock=lock_service.getLock("mylock");
lock.lock();
try {
// do something with the lock acquired
}
finally {
lock.unlock();
}
Note that, contrary to the semantics of Lock
, unlock() can be called multiple
times; after a lock has been released, future calls to unlock() have no effect.
- Since:
- 2.12
- Author:
- Bela Ban
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ch
protected JChannel ch
lock_prot
protected Locking lock_prot
LockService
public LockService()
LockService
public LockService(JChannel ch)
setChannel
public void setChannel(JChannel ch)
getLock
public java.util.concurrent.locks.Lock getLock(java.lang.String lock_name)
unlockAll
public void unlockAll()
addLockListener
public void addLockListener(LockNotification listener)
removeLockListener
public void removeLockListener(LockNotification listener)
printLocks
public java.lang.String printLocks()
Copyright © 1998-2012 Bela Ban / Red Hat. All Rights Reserved.