@ Override public void postInvoke ( int id , EJSDeployedSupport s ) throws RemoteException { final boolean isTraceOn = TraceComponent . isAnyTracingEnabled ( ) ; if ( isTraceOn && tc . isEntryEnabled ( ) ) { Tr . entry ( tc , "postInvoke" ) ; } // Release lock acquired if container managed concurrency control. if ( ivContainerManagedConcurrency && s . ivLockAcquired ) { // Get the lock type to use for the method being invoked. EJBMethodInfoImpl mInfo = s . methodInfo ; LockType lockType = mInfo . ivLockType ; if ( lockType == LockType . READ ) { ivReadLock . unlock ( ) ; if ( isTraceOn && tc . isDebugEnabled ( ) ) { Tr . debug ( tc , "postInvoke released read lock: " + ivLock . toString ( ) ) ; } } else { ivWriteLock . unlock ( ) ; if ( isTraceOn && tc . isDebugEnabled ( ) ) { Tr . debug ( tc , "postInvoke released write lock: " + ivLock . toString ( ) ) ; } } } if ( isTraceOn && tc . isEntryEnabled ( ) ) { Tr . exit ( tc , "postInvoke" ) ; } }
Release lock acquired by preInvoke .