JBoss API: Class EntityLockInterceptor

org.jboss.ejb.plugins
Class EntityLockInterceptor

java.lang.Object
  |
  +--org.jboss.ejb.plugins.AbstractInterceptor
        |
        +--org.jboss.ejb.plugins.EntityLockInterceptor
All Implemented Interfaces:
ContainerPlugin, Interceptor, Service

public class EntityLockInterceptor
extends AbstractInterceptor

The lock interceptors role is to schedule thread wanting to invoke method on a target bean

The policies for implementing scheduling (pessimistic locking etc) is implemented by pluggable locks

We also implement serialization of calls in here (this is a spec requirement). This is a fine grained notify, notifyAll mechanism. We notify on ctx serialization locks and notifyAll on global transactional locks.

WARNING: critical code, get approval from senior developers before changing.

Version:
$Revision: 1.5.4.4 $

Revisions:

2001/07/30: marcf

  1. Initial revision
  2. Factorization of the lock out of the context in cache
  3. The new locking is implement as "scheduling" in the lock which allows for pluggable locks

2001/08/07: billb

  1. Removed while loop and moved it to SimplePessimisticEJBLock where it belongs.
Author:
Marc Fleury, Bill Burke

Field Summary
protected  EntityContainer container
           
 
Fields inherited from class org.jboss.ejb.plugins.AbstractInterceptor
log, nextInterceptor
 
Constructor Summary
EntityLockInterceptor()
           
 
Method Summary
 Container getContainer()
           
 java.lang.Object invoke(MethodInvocation mi)
           
 java.lang.Object invokeHome(MethodInvocation mi)
           
 void setContainer(Container container)
          This callback is set by the container so that the plugin may access it
 
Methods inherited from class org.jboss.ejb.plugins.AbstractInterceptor
destroy, getNext, init, setNext, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

container

protected EntityContainer container
Constructor Detail

EntityLockInterceptor

public EntityLockInterceptor()
Method Detail

setContainer

public void setContainer(Container container)
Description copied from interface: ContainerPlugin
This callback is set by the container so that the plugin may access it
Overrides:
setContainer in class AbstractInterceptor
Following copied from interface: org.jboss.ejb.ContainerPlugin
Parameters:
con - the container using this plugin

getContainer

public Container getContainer()
Overrides:
getContainer in class AbstractInterceptor

invokeHome

public java.lang.Object invokeHome(MethodInvocation mi)
                            throws java.lang.Exception
Overrides:
invokeHome in class AbstractInterceptor

invoke

public java.lang.Object invoke(MethodInvocation mi)
                        throws java.lang.Exception
Overrides:
invoke in class AbstractInterceptor


Copyright © 2000 The JBoss Organization. All Rights Reserved.