org.jboss.ejb.plugins.lock
Class BeanLockSupport
java.lang.Object
|
+--org.jboss.ejb.plugins.lock.BeanLockSupport
- All Implemented Interfaces:
- BeanLock
- Direct Known Subclasses:
- QueuedPessimisticEJBLock, SimplePessimisticEJBLock
- public abstract class BeanLockSupport
- extends java.lang.Object
- implements BeanLock
Support for the BeanLock
- Version:
- $Revision: 1.4.4.3 $
Revisions:
2001/07/29: marcf
- Initial revision
- Author:
- Bill Burke, Marc Fleury
Field Summary |
protected java.lang.Object |
id
The Cachekey corresponding to this Bean |
protected int |
numMethodLocks
Number of threads invoking methods on this bean
(1 normally >1 if reentrant) |
protected boolean |
reentrant
Are reentrant calls allowed? |
protected int |
refs
Number of threads that retrieved this lock from the manager
(0 means removing) |
protected boolean |
synched
|
protected javax.transaction.Transaction |
tx
|
protected int |
txTimeout
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
numMethodLocks
protected int numMethodLocks
- Number of threads invoking methods on this bean
(1 normally >1 if reentrant)
refs
protected int refs
- Number of threads that retrieved this lock from the manager
(0 means removing)
id
protected java.lang.Object id
- The Cachekey corresponding to this Bean
reentrant
protected boolean reentrant
- Are reentrant calls allowed?
tx
protected javax.transaction.Transaction tx
synched
protected boolean synched
txTimeout
protected int txTimeout
BeanLockSupport
public BeanLockSupport()
setId
public void setId(java.lang.Object id)
- Specified by:
setId
in interface BeanLock
getId
public java.lang.Object getId()
- Specified by:
getId
in interface BeanLock
setReentrant
public void setReentrant(boolean reentrant)
- Specified by:
setReentrant
in interface BeanLock
setTimeout
public void setTimeout(int timeout)
- Specified by:
setTimeout
in interface BeanLock
sync
public void sync()
- Specified by:
sync
in interface BeanLock
releaseSync
public void releaseSync()
- Specified by:
releaseSync
in interface BeanLock
schedule
public abstract void schedule(MethodInvocation mi)
throws java.lang.Exception
- Specified by:
schedule
in interface BeanLock
setTransaction
public void setTransaction(javax.transaction.Transaction tx)
- The setTransaction associates a transaction with the lock.
The current transaction is associated by the schedule call.
- Specified by:
setTransaction
in interface BeanLock
getTransaction
public javax.transaction.Transaction getTransaction()
- Specified by:
getTransaction
in interface BeanLock
endTransaction
public abstract void endTransaction(javax.transaction.Transaction tx)
- Specified by:
endTransaction
in interface BeanLock
wontSynchronize
public abstract void wontSynchronize(javax.transaction.Transaction tx)
- Specified by:
wontSynchronize
in interface BeanLock
isMethodLocked
public boolean isMethodLocked()
- Specified by:
isMethodLocked
in interface BeanLock
getNumMethodLocks
public int getNumMethodLocks()
- Specified by:
getNumMethodLocks
in interface BeanLock
addMethodLock
public void addMethodLock()
- Specified by:
addMethodLock
in interface BeanLock
releaseMethodLock
public abstract void releaseMethodLock()
- Description copied from interface:
BeanLock
- releaseMethodLock
if we reach the count of zero it means the instance is free from threads (and reentrency)
we wake up the next thread in the currentLock
- Specified by:
releaseMethodLock
in interface BeanLock
addRef
public void addRef()
- Specified by:
addRef
in interface BeanLock
removeRef
public void removeRef()
- Specified by:
removeRef
in interface BeanLock
getRefs
public int getRefs()
- Specified by:
getRefs
in interface BeanLock
isCallAllowed
protected boolean isCallAllowed(MethodInvocation mi)
Copyright © 2000 The JBoss Organization. All Rights Reserved.