|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jboss.ejb.plugins.AbstractInterceptor org.jboss.ejb.plugins.EntityInstanceInterceptor
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.
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 |
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 |
protected EntityContainer container
protected static final Method ejbTimeout
TimedObject.ejbTimeout(javax.ejb.Timer)
.
Constructor Detail |
public EntityInstanceInterceptor()
Method Detail |
public void setContainer(Container container)
ContainerPlugin
setContainer
in interface ContainerPlugin
setContainer
in class AbstractInterceptor
public Container getContainer()
getContainer
in class AbstractInterceptor
public Object invokeHome(Invocation mi) throws Exception
Interceptor
invokeHome
in interface Interceptor
invokeHome
in class AbstractInterceptor
Exception
public Object invoke(Invocation mi) throws Exception
Interceptor
invoke
in interface Interceptor
invoke
in class AbstractInterceptor
Exception
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |