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.
author: Marc Fleury author: Scott Stark author: Bill Burke author: Jamie Burns version: $Revision: 62278 $ |