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 + -
显示快捷键?