public class DistributableLockManager extends AbstractMembershipListener implements LockManager, org.jgroups.MessageListener
Modifier and Type | Field and Description |
---|---|
protected org.jgroups.blocks.RpcDispatcher |
dispatcher |
protected int |
timeout |
channel
GLOBAL
Constructor and Description |
---|
DistributableLockManager(DatabaseCluster<D> databaseCluster,
DistributableDatabaseClusterDecorator decorator)
Constructs a new DistributableLock.
|
Modifier and Type | Method and Description |
---|---|
byte[] |
getState() |
protected void |
memberJoined(org.jgroups.Address address) |
protected void |
memberLeft(org.jgroups.Address address) |
java.util.concurrent.locks.Lock |
readLock(java.lang.String object)
Read locks are local.
|
void |
receive(org.jgroups.Message message) |
void |
setState(byte[] arg0) |
void |
start()
Called upon database cluster start.
|
void |
stop()
Called when database cluster is stopped.
|
boolean |
vote(LockDecree decree)
Votes on the specified decree.
|
java.util.concurrent.locks.Lock |
writeLock(java.lang.String object)
Write locks are distributed.
|
block, getMembershipSize, isMembershipEmpty, suspect, viewAccepted
protected org.jgroups.blocks.RpcDispatcher dispatcher
protected int timeout
public DistributableLockManager(DatabaseCluster<D> databaseCluster, DistributableDatabaseClusterDecorator decorator) throws java.lang.Exception
D
- either java.sql.Driver or javax.sql.DatasourcedatabaseCluster
- a database clusterdecorator
- a decoratorjava.lang.Exception
public void start() throws java.lang.Exception
Lifecycle
start
in interface Lifecycle
java.lang.Exception
- if this service fails to start.Lifecycle.start()
public void stop()
Lifecycle
stop
in interface Lifecycle
Lifecycle.stop()
public java.util.concurrent.locks.Lock readLock(java.lang.String object)
readLock
in interface LockManager
object
- an object to lockLockManager.readLock(java.lang.String)
public java.util.concurrent.locks.Lock writeLock(java.lang.String object)
writeLock
in interface LockManager
object
- an object to lockLockManager.writeLock(java.lang.String)
public boolean vote(LockDecree decree)
decree
- a lock decreeprotected void memberJoined(org.jgroups.Address address)
memberJoined
in class AbstractMembershipListener
AbstractMembershipListener.memberJoined(org.jgroups.Address)
protected void memberLeft(org.jgroups.Address address)
memberLeft
in class AbstractMembershipListener
AbstractMembershipListener.memberLeft(org.jgroups.Address)
public byte[] getState()
getState
in interface org.jgroups.MessageListener
MessageListener.getState()
public void receive(org.jgroups.Message message)
receive
in interface org.jgroups.MessageListener
MessageListener.receive(org.jgroups.Message)
public void setState(byte[] arg0)
setState
in interface org.jgroups.MessageListener
MessageListener.setState(byte[])