org.jboss.ejb.plugins.lock
Class NoLock

java.lang.Object
  extended byorg.jboss.ejb.plugins.lock.BeanLockSupport (src) 
      extended byorg.jboss.ejb.plugins.lock.NoLock
All Implemented Interfaces:
BeanLock (src) , BeanLockExt (src) , Resource (src)
Direct Known Subclasses:
JDBCOptimisticLock (src) , MethodOnlyEJBLock (src)

public class NoLock
extends BeanLockSupport (src)

No locking what-so-ever Holds all locks for entity beans, not used for stateful.

All BeanLocks have a reference count. When the reference count goes to 0, the lock is released from the id -> lock mapping.


Field Summary
 
Fields inherited from class org.jboss.ejb.plugins.lock.BeanLockSupport (src)
container, id, refs, synched, synchedDepth, tx, txTimeout
 
Constructor Summary
NoLock()
           
 
Method Summary
 void endInvocation(Invocation (src)  mi)
          Callback to the BeanLock to inform it that a method invocation has ended.
 void endTransaction(Transaction (src)  transaction)
          Informs the lock that the given transaction has ended.
 void schedule(Invocation (src)  mi)
          Schedule(Invocation) Schedule implements a particular policy for scheduling the threads coming in.
 void wontSynchronize(Transaction (src)  trasaction)
          Signifies to the lock that the transaction will not Synchronize (Tx demarcation not seen).
 
Methods inherited from class org.jboss.ejb.plugins.lock.BeanLockSupport (src)
addRef, attemptSync, getId, getRefs, getResourceHolder, getTransaction, releaseSync, removeRef, setContainer, setId, setTimeout, setTransaction, sync
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NoLock

public NoLock()
Method Detail

schedule

public void schedule(Invocation (src)  mi)
              throws java.lang.Exception
Schedule(Invocation) Schedule implements a particular policy for scheduling the threads coming in. There is always the spec required "serialization" but we can add custom scheduling in here Synchronizing on lock: a failure to get scheduled must result in a wait() call and a release of the lock. Schedulation must return with lock.

Specified by:
schedule in interface BeanLock (src)
Specified by:
schedule in class BeanLockSupport (src)
Throws:
java.lang.Exception

endTransaction

public void endTransaction(Transaction (src)  transaction)
Description copied from interface: BeanLock (src)
Informs the lock that the given transaction has ended.

Specified by:
endTransaction in interface BeanLock (src)
Specified by:
endTransaction in class BeanLockSupport (src)

wontSynchronize

public void wontSynchronize(Transaction (src)  trasaction)
Description copied from interface: BeanLock (src)
Signifies to the lock that the transaction will not Synchronize (Tx demarcation not seen).

OSH: This method does not seem to be called from anywhere. What is it meant for? To be called on a timeout before the transaction has terminated?

Specified by:
wontSynchronize in interface BeanLock (src)
Specified by:
wontSynchronize in class BeanLockSupport (src)

endInvocation

public void endInvocation(Invocation (src)  mi)
Description copied from interface: BeanLock (src)
Callback to the BeanLock to inform it that a method invocation has ended. A common use of this method is to release a method lock.

Specified by:
endInvocation in interface BeanLock (src)
Specified by:
endInvocation in class BeanLockSupport (src)