当前位置: 首页>>代码示例>>Java>>正文


Java ObjectAdapter.returnServant方法代码示例

本文整理汇总了Java中com.sun.corba.se.spi.oa.ObjectAdapter.returnServant方法的典型用法代码示例。如果您正苦于以下问题:Java ObjectAdapter.returnServant方法的具体用法?Java ObjectAdapter.returnServant怎么用?Java ObjectAdapter.returnServant使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.sun.corba.se.spi.oa.ObjectAdapter的用法示例。


在下文中一共展示了ObjectAdapter.returnServant方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: releaseServant

import com.sun.corba.se.spi.oa.ObjectAdapter; //导入方法依赖的package包/类
private void releaseServant(ObjectAdapter objectAdapter)
{
    try {
        if (orb.subcontractDebugFlag) {
            dprint(".releaseServant->");
        }

        if (objectAdapter == null) {
            if (orb.subcontractDebugFlag) {
                dprint(".releaseServant: null object adapter");
            }
            return ;
        }

        try {
            objectAdapter.returnServant();
        } finally {
            objectAdapter.exit();
            orb.popInvocationInfo() ;
        }
    } finally {
        if (orb.subcontractDebugFlag) {
            dprint(".releaseServant<-");
        }
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:27,代码来源:CorbaServerRequestDispatcherImpl.java

示例2: getCachedInfo

import com.sun.corba.se.spi.oa.ObjectAdapter; //导入方法依赖的package包/类
protected synchronized OAInvocationInfo getCachedInfo()
{
    if (!servantIsLocal)
        throw wrapper.servantMustBeLocal() ;

    if (cachedInfo == null) {
        ObjectAdapter oa = oaf.find( oaid ) ;
        cachedInfo = oa.makeInvocationInfo( objectId ) ;

        // InvocationInfo must be pushed before calling getInvocationServant
        orb.pushInvocationInfo( cachedInfo ) ;

        try {
            oa.enter( );
            oa.getInvocationServant( cachedInfo ) ;
        } catch (ForwardException freq) {
            throw wrapper.illegalForwardRequest( freq ) ;
        } catch( OADestroyed oades ) {
            // This is an error since no user of this implementation
            // should ever throw this exception
            throw wrapper.adapterDestroyed( oades ) ;
        } finally {
            oa.returnServant( );
            oa.exit( );
            orb.popInvocationInfo() ;
        }
    }

    return cachedInfo ;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:31,代码来源:ServantCacheLocalCRDBase.java

示例3: servantExit

import com.sun.corba.se.spi.oa.ObjectAdapter; //导入方法依赖的package包/类
private void servantExit( ObjectAdapter oa )
{
    try {
        oa.returnServant();
    } finally {
        oa.exit() ;
        orb.popInvocationInfo() ;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:10,代码来源:POALocalCRDImpl.java

示例4: runServantPostInvoke

import com.sun.corba.se.spi.oa.ObjectAdapter; //导入方法依赖的package包/类
protected void runServantPostInvoke(CorbaMessageMediator messageMediator)
{
    // Run ServantLocator::postinvoke.  This may cause a SystemException
    // which will throw out of the constructor and return later
    // to construct a reply for that exception.  The internal logic
    // of returnServant makes sure that postinvoke is only called once.
    // REVISIT: instead of instanceof, put method on all orbs.
    ORB orb = null;
    // This flag is to deal with BootstrapServer use of reply streams,
    // with ServerRequestDispatcher's use of reply streams, etc.
    if (messageMediator.executeReturnServantInResponseConstructor()) {
        // It is possible to get marshaling errors in the skeleton after
        // postinvoke has completed.  We must set this to false so that
        // when the error exception reply is constructed we don't try
        // to incorrectly access poa current (which will be the wrong
        // one or an empty stack.
        messageMediator.setExecuteReturnServantInResponseConstructor(false);
        messageMediator.setExecuteRemoveThreadInfoInResponseConstructor(true);

        try {
            orb = (ORB)messageMediator.getBroker();
            OAInvocationInfo info = orb.peekInvocationInfo() ;
            ObjectAdapter oa = info.oa();
            try {
                oa.returnServant() ;
            } catch (Throwable thr) {
                wrapper.unexpectedException( thr ) ;

                if (thr instanceof Error)
                    throw (Error)thr ;
                else if (thr instanceof RuntimeException)
                    throw (RuntimeException)thr ;
            } finally {
                oa.exit();
            }
        } catch (EmptyStackException ese) {
            throw wrapper.emptyStackRunServantPostInvoke( ese ) ;
        }
    }
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:41,代码来源:CorbaMessageMediatorImpl.java


注:本文中的com.sun.corba.se.spi.oa.ObjectAdapter.returnServant方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。