org.jboss.ejb.plugins
Class EntityReentranceInterceptor

java.lang.Object
  extended by org.jboss.ejb.plugins.AbstractInterceptor
      extended by org.jboss.ejb.plugins.EntityReentranceInterceptor
All Implemented Interfaces:
AllowedOperationsFlags, ContainerPlugin, Interceptor, org.jboss.system.Service

public class EntityReentranceInterceptor
extends AbstractInterceptor

The role of this interceptor is to check for reentrancy. Per the spec, throw an exception if instance is not marked as reentrant. We do not check to see if same Tx is accessing object at the same time as we assume that any transactional locks will handle this.

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

Version:
$Revision: 1.8 $
Author:
Bill Burke

Field Summary
protected  boolean reentrant
           
 
Fields inherited from class org.jboss.ejb.plugins.AbstractInterceptor
container, log, nextInterceptor
 
Fields inherited from interface org.jboss.ejb.AllowedOperationsFlags
IN_AFTER_BEGIN, IN_AFTER_COMPLETION, IN_BEFORE_COMPLETION, IN_BUSINESS_METHOD, IN_EJB_ACTIVATE, IN_EJB_CREATE, IN_EJB_FIND, IN_EJB_HOME, IN_EJB_LOAD, IN_EJB_PASSIVATE, IN_EJB_POST_CREATE, IN_EJB_REMOVE, IN_EJB_STORE, IN_EJB_TIMEOUT, IN_INTERCEPTOR_METHOD, IN_SERVICE_ENDPOINT_METHOD, IN_SET_ENTITY_CONTEXT, IN_SET_MESSAGE_DRIVEN_CONTEXT, IN_SET_SESSION_CONTEXT, IN_UNSET_ENTITY_CONTEXT, NOT_ALLOWED
 
Constructor Summary
EntityReentranceInterceptor()
           
 
Method Summary
 Object invoke(Invocation mi)
          ???
protected  boolean isReentrantMethod(Invocation mi)
           
protected  boolean isTxExpired(Transaction miTx)
           
 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
create, destroy, getContainer, getNext, invokeHome, setNext, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

reentrant

protected boolean reentrant
Constructor Detail

EntityReentranceInterceptor

public EntityReentranceInterceptor()
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

Specified by:
setContainer in interface ContainerPlugin
Overrides:
setContainer in class AbstractInterceptor
Parameters:
container - The container using this plugin. This may be null if the plugin is being disassociated from a container.

isTxExpired

protected boolean isTxExpired(Transaction miTx)
                       throws Exception
Throws:
Exception

invoke

public Object invoke(Invocation mi)
              throws Exception
Description copied from interface: Interceptor
???

Specified by:
invoke in interface Interceptor
Overrides:
invoke in class AbstractInterceptor
Parameters:
mi - ???
Returns:
???
Throws:
Exception - ???

isReentrantMethod

protected boolean isReentrantMethod(Invocation mi)


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.