|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface LockManager
An interface to deal with all aspects of acquiring and releasing locks for nodes in the cache.
Method Summary | |
---|---|
Object |
getLockOwner(InvocationContext ctx)
Determines the owner to be used when obtaining locks, given an invocation context. |
Collection<Object> |
getReadOwners(Fqn f)
Retrieves the read lock owners, if any, for the current Fqn. |
Collection<Object> |
getReadOwners(NodeSPI<?,?> node)
Retrieves the read lock owners, if any, for the current Fqn. |
Object |
getWriteOwner(Fqn f)
Retrieves the write lock owner, if any, for the current Fqn. |
Object |
getWriteOwner(NodeSPI<?,?> node)
Retrieves the write lock owner, if any, for the current Fqn. |
boolean |
isLocked(Fqn fqn)
Returns true if the node is locked (either for reading or writing) by anyone, and false otherwise. |
boolean |
isLocked(NodeSPI<?,?> n)
Returns true if the node is locked (either for reading or writing) by anyone, and false otherwise. |
boolean |
isLocked(NodeSPI<?,?> n,
LockType lockType)
Returns true if the node is locked (either for reading or writing) by anyone, and false otherwise. |
boolean |
lock(Fqn fqn,
LockType lockType,
Object owner)
Acquires a lock of type lockType, for a given owner, on a specific Node in the cache, denoted by fqn. |
boolean |
lock(Fqn fqn,
LockType lockType,
Object owner,
long timeout)
Acquires a lock of type lockType, for a given owner, on a specific Node in the cache, denoted by fqn. |
boolean |
lock(NodeSPI<?,?> node,
LockType lockType,
Object owner)
As lock(org.jboss.cache.Fqn, LockType, Object) except that a NodeSPI is passed in instead of an Fqn. |
boolean |
lock(NodeSPI<?,?> node,
LockType lockType,
Object owner,
long timeout)
As lock(org.jboss.cache.Fqn, LockType, Object, long) except that a NodeSPI is passed in instead of an Fqn. |
boolean |
lockAll(NodeSPI<?,?> node,
LockType lockType,
Object owner)
Locks the node and all child nodes, acquiring lock of type specified for the owner specified. |
boolean |
lockAll(NodeSPI<?,?> node,
LockType lockType,
Object owner,
long timeout)
Locks the node and all child nodes, acquiring lock of type specified for the owner specified. |
boolean |
lockAll(NodeSPI<?,?> node,
LockType lockType,
Object owner,
long timeout,
boolean excludeInternalFqns)
Locks the node and all child nodes, acquiring lock of type specified for the owner specified. |
boolean |
lockAllAndRecord(Fqn fqn,
LockType lockType,
InvocationContext ctx)
Locks the node and all child nodes, acquiring lock of type specified for the owner specified. |
boolean |
lockAllAndRecord(NodeSPI<?,?> node,
LockType lockType,
InvocationContext ctx)
Locks the node and all child nodes, acquiring lock of type specified for the owner specified. |
boolean |
lockAndRecord(Fqn fqn,
LockType lockType,
InvocationContext ctx)
Acquires a lock of type lockType, on a specific Node in the cache, denoted by fqn. |
boolean |
lockAndRecord(NodeSPI<?,?> node,
LockType lockType,
InvocationContext ctx)
Acquires a lock of type lockType, on a specific Node in the cache, denoted by fqn. |
boolean |
ownsLock(Fqn fqn,
LockType lockType,
Object owner)
Tests whether a given owner owns a lock of lockType on a particular Fqn. |
boolean |
ownsLock(Fqn fqn,
Object owner)
Tests whether a given owner owns any sort of lock on a particular Fqn. |
boolean |
ownsLock(NodeSPI<?,?> node,
Object owner)
Tests whether a given owner owns any sort of lock on a particular Fqn. |
String |
printLockInfo()
Prints lock information for all locks. |
String |
printLockInfo(NodeSPI<?,?> node)
Prints lock information about a node (and its children) to a String. |
void |
unlock(Fqn fqn,
Object owner)
Releases the lock passed in, held by the specified owner |
void |
unlock(InvocationContext ctx)
Releases locks present in an invocation context and transaction entry, if one is available. |
void |
unlock(NodeSPI<?,?> node,
Object owner)
Releases the lock passed in, held by the specified owner |
void |
unlockAll(NodeSPI<?,?> node)
Releases locks on a given node and all children for all owners. |
void |
unlockAll(NodeSPI<?,?> node,
Object owner)
Releases locks on a given node and all children for a given owner. |
Method Detail |
---|
Object getLockOwner(InvocationContext ctx)
GlobalTransaction
if one
is present in the context, or Thread.currentThread()
if one is not present.
ctx
- invocation context
boolean lock(Fqn fqn, LockType lockType, Object owner) throws InterruptedException
Configuration.getLockAcquisitionTimeout()
milliseconds and give up if it is unable to acquire the required lock.
fqn
- Fqn to locklockType
- type of lock to acquireowner
- owner to acquire the lock for
InterruptedException
boolean lock(Fqn fqn, LockType lockType, Object owner, long timeout) throws InterruptedException
fqn
- Fqn to locklockType
- type of lock to acquireowner
- owner to acquire the lock fortimeout
- maximum length of time to wait for (in millis)
InterruptedException
boolean lock(NodeSPI<?,?> node, LockType lockType, Object owner) throws InterruptedException
lock(org.jboss.cache.Fqn, LockType, Object)
except that a NodeSPI is passed in instead of an Fqn.
node
- node to locklockType
- type of lock to acquireowner
- owner to acquire the lock for
InterruptedException
boolean lock(NodeSPI<?,?> node, LockType lockType, Object owner, long timeout) throws InterruptedException
lock(org.jboss.cache.Fqn, LockType, Object, long)
except that a NodeSPI is passed in instead of an Fqn.
node
- node to locklockType
- type of lock to acquireowner
- owner to acquire the lock fortimeout
- maximum length of time to wait for (in millis)
InterruptedException
boolean lockAndRecord(Fqn fqn, LockType lockType, InvocationContext ctx) throws InterruptedException
Option.getLockAcquisitionTimeout()
and, if this is unset, the default timeout
set in Configuration.getLockAcquisitionTimeout()
is used.
In addition, any locks acquired are added to the context OR transaction entry using InvocationContext.addLock(Object)
.
The owner for the lock is determined by passing the invocation context to getLockOwner(org.jboss.cache.InvocationContext)
.
fqn
- Fqn to locklockType
- type of lock to acquirectx
- invocation context associated with this invocation
InterruptedException
boolean lockAndRecord(NodeSPI<?,?> node, LockType lockType, InvocationContext ctx) throws InterruptedException
Option.getLockAcquisitionTimeout()
and, if this is unset, the default timeout
set in Configuration.getLockAcquisitionTimeout()
is used.
In addition, any locks acquired are added to the context OR transaction entry using InvocationContext.addLock(Object)
.
The owner for the lock is determined by passing the invocation context to getLockOwner(org.jboss.cache.InvocationContext)
.
node
- Fqn to locklockType
- type of lock to acquirectx
- invocation context associated with this invocation
InterruptedException
void unlock(Fqn fqn, Object owner)
fqn
- Fqn of the node to unlockowner
- lock ownervoid unlock(NodeSPI<?,?> node, Object owner)
node
- Node to unlockowner
- lock ownervoid unlock(InvocationContext ctx)
getLockOwner(org.jboss.cache.InvocationContext)
ctx
- invocation context to inspectboolean lockAll(NodeSPI<?,?> node, LockType lockType, Object owner) throws InterruptedException
Configuration.getLockAcquisitionTimeout()
milliseconds and give up if it is unable to acquire the required lock.
node
- Node to locklockType
- type of lock to acquireowner
- owner to acquire the lock for
InterruptedException
boolean lockAll(NodeSPI<?,?> node, LockType lockType, Object owner, long timeout) throws InterruptedException
node
- Node to locklockType
- type of lock to acquireowner
- owner to acquire the lock fortimeout
- maximum length of time to wait for (in millis)
InterruptedException
boolean lockAll(NodeSPI<?,?> node, LockType lockType, Object owner, long timeout, boolean excludeInternalFqns) throws InterruptedException
node
- Node to locklockType
- type of lock to acquireowner
- owner to acquire the lock fortimeout
- maximum length of time to wait for (in millis)excludeInternalFqns
- if true, any Fqns that are internal are excluded.
InterruptedException
boolean lockAllAndRecord(NodeSPI<?,?> node, LockType lockType, InvocationContext ctx) throws InterruptedException
InvocationContext.addLock(Object)
.
The owner for the lock is determined by passing the invocation context to getLockOwner(org.jboss.cache.InvocationContext)
.
node
- Node to locklockType
- type of lock to acquirectx
- invocation context associated with this invocation
InterruptedException
boolean lockAllAndRecord(Fqn fqn, LockType lockType, InvocationContext ctx) throws InterruptedException
InvocationContext.addLock(Object)
.
The owner for the lock is determined by passing the invocation context to getLockOwner(org.jboss.cache.InvocationContext)
.
fqn
- Node to locklockType
- type of lock to acquirectx
- invocation context associated with this invocation
InterruptedException
void unlockAll(NodeSPI<?,?> node, Object owner)
node
- node to unlockowner
- lock ownervoid unlockAll(NodeSPI<?,?> node)
node
- node to unlockboolean ownsLock(Fqn fqn, LockType lockType, Object owner)
fqn
- fqn to testlockType
- type of lock to test forowner
- owner
boolean ownsLock(Fqn fqn, Object owner)
fqn
- fqn to testowner
- owner
boolean ownsLock(NodeSPI<?,?> node, Object owner)
node
- to testowner
- owner
boolean isLocked(NodeSPI<?,?> n)
n
- node to inspect
boolean isLocked(Fqn fqn)
fqn
- node to inspect
boolean isLocked(NodeSPI<?,?> n, LockType lockType)
n
- node to inspectlockType
- lockType to test for
Object getWriteOwner(Fqn f)
f
- Fqn to inspect
Collection<Object> getReadOwners(Fqn f)
f
- Fqn to inspect
Object getWriteOwner(NodeSPI<?,?> node)
node
- the node to inspect
Collection<Object> getReadOwners(NodeSPI<?,?> node)
node
- the node to inspect
String printLockInfo(NodeSPI<?,?> node)
node
- node to inspectString printLockInfo()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |