fullservantcachelocalcrdimpl.java

来自「JAVA 所有包」· Java 代码 · 共 64 行

JAVA
64
字号
/* * @(#)FullServantCacheLocalCRDImpl.java	1.21 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.corba.se.impl.protocol;import org.omg.CORBA.portable.ServantObject ;import com.sun.corba.se.spi.protocol.LocalClientRequestDispatcherFactory ;import com.sun.corba.se.spi.protocol.LocalClientRequestDispatcher ;import com.sun.corba.se.spi.orb.ORB ;import com.sun.corba.se.spi.oa.OAInvocationInfo ;import com.sun.corba.se.spi.oa.OADestroyed ;import com.sun.corba.se.spi.ior.IOR;import com.sun.corba.se.spi.logging.CORBALogDomains;import com.sun.corba.se.impl.logging.POASystemException ;public class FullServantCacheLocalCRDImpl extends ServantCacheLocalCRDBase{    public FullServantCacheLocalCRDImpl( ORB orb, int scid, IOR ior )     {	super( (com.sun.corba.se.spi.orb.ORB)orb, scid, ior ) ;    }    public ServantObject servant_preinvoke( org.omg.CORBA.Object self,	String operation, 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 ;    }    public void servant_postinvoke(org.omg.CORBA.Object self,                                   ServantObject servantobj)     {	OAInvocationInfo cachedInfo = getCachedInfo() ;	cachedInfo.oa().exit() ;	orb.popInvocationInfo() ;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?