站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JBoss 4.0.1 sp1 server API Documentation 英文版文档

EntityInstanceInterceptor (JBoss Server API) - JBoss 4.0.1 sp1 server API Documentation 英文版文档


org.jboss.ejb.plugins
Class EntityInstanceInterceptor

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

public class EntityInstanceInterceptor
extends AbstractInterceptor

The instance interceptors role is to acquire a context representing the target object from the cache.

This particular container interceptor implements pessimistic locking on the transaction that is associated with the retrieved instance. If there is a transaction associated with the target component and it is different from the transaction associated with the Invocation coming in then the policy is to wait for transactional commit.

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.75.4.1 $
Author:
Marc Fleury, Scott Stark, Bill Burke, Jamie Burns

Field Summary
protected  EntityContainer container
           
protected static Method ejbTimeout
          A reference to TimedObject.ejbTimeout(javax.ejb.Timer).
 
Fields inherited from class org.jboss.ejb.plugins.AbstractInterceptor
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
EntityInstanceInterceptor()
           
 
Method Summary
 Container getContainer()
           
 Object invoke(Invocation mi)
          ???
 Object invokeHome(Invocation 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
create, destroy, getNext, 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

ejbTimeout

protected static final Method ejbTimeout
A reference to TimedObject.ejbTimeout(javax.ejb.Timer).

Constructor Detail

EntityInstanceInterceptor

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

getContainer

public Container getContainer()
Overrides:
getContainer in class AbstractInterceptor

invokeHome

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

Specified by:
invokeHome in interface Interceptor
Overrides:
invokeHome in class AbstractInterceptor
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
Throws:
Exception


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