FullServantCacheLocalCRDImplpublic class FullServantCacheLocalCRDImpl extends ServantCacheLocalCRDBase
Methods Summary |
---|
public void | servant_postinvoke(org.omg.CORBA.Object self, org.omg.CORBA.portable.ServantObject servantobj)
OAInvocationInfo cachedInfo = getCachedInfo() ;
cachedInfo.oa().exit() ;
orb.popInvocationInfo() ;
| public org.omg.CORBA.portable.ServantObject | servant_preinvoke(org.omg.CORBA.Object self, java.lang.String operation, java.lang.Class expectedType)
OAInvocationInfo cachedInfo = getCachedInfo() ;
if (!checkForCompatibleServant( cachedInfo, expectedType ))
return null ;
// Note that info is shared across multiple threads
// using the same subcontract, each of which may
// have its own operation. Therefore we need to clone it.
OAInvocationInfo info = new OAInvocationInfo( cachedInfo, operation ) ;
orb.pushInvocationInfo( info ) ;
try {
info.oa().enter() ;
} catch (OADestroyed pdes) {
throw wrapper.preinvokePoaDestroyed( pdes ) ;
}
return info ;
|
|