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


Java OAInvocationInfo类代码示例

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


OAInvocationInfo类属于com.sun.corba.se.spi.oa包,在下文中一共展示了OAInvocationInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: servant_preinvoke

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
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 ;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:22,代码来源:FullServantCacheLocalCRDImpl.java

示例2: getServant

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
private java.lang.Object getServant(ObjectAdapter objectAdapter, byte[] objectId,
    String operation)
    throws OADestroyed
{
    try {
        if (orb.subcontractDebugFlag) {
            dprint(".getServant->");
        }

        OAInvocationInfo info = objectAdapter.makeInvocationInfo(objectId);
        info.setOperation(operation);
        orb.pushInvocationInfo(info);
        objectAdapter.getInvocationServant(info);
        return info.getServantContainer() ;
    } finally {
        if (orb.subcontractDebugFlag) {
            dprint(".getServant<-");
        }
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:21,代码来源:CorbaServerRequestDispatcherImpl.java

示例3: servant_postinvoke

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public void servant_postinvoke(org.omg.CORBA.Object self,
                               ServantObject servantobj)
{
    OAInvocationInfo cachedInfo = getCachedInfo() ;
    cachedInfo.oa().exit() ;
    orb.popInvocationInfo() ;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:8,代码来源:FullServantCacheLocalCRDImpl.java

示例4: servant_preinvoke

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
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 copy it.
    OAInvocationInfo info =  new OAInvocationInfo(cachedInfo, operation) ;
    orb.pushInvocationInfo( info ) ;

    return info ;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:InfoOnlyServantCacheLocalCRDImpl.java

示例5: servant_preinvoke

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public ServantObject servant_preinvoke( org.omg.CORBA.Object self,
    String operation, Class expectedType )
{
    OAInvocationInfo cachedInfo = getCachedInfo() ;
    if (checkForCompatibleServant( cachedInfo, expectedType ))
        return cachedInfo ;
    else
        return null ;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:10,代码来源:MinimalServantCacheLocalCRDImpl.java

示例6: getCachedInfo

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的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

示例7: servantEnter

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
private OAInvocationInfo servantEnter( ObjectAdapter oa ) throws OADestroyed
{
    oa.enter() ;

    OAInvocationInfo info = oa.makeInvocationInfo( objectId ) ;
    orb.pushInvocationInfo( info ) ;

    return info ;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:10,代码来源:POALocalCRDImpl.java

示例8: getInvocationServant

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public void getInvocationServant( OAInvocationInfo info )
{
    try {
        lock() ;

        if (debug) {
            ORBUtility.dprint( this,
                "Calling getInvocationServant on poa " + this ) ;
        }

        java.lang.Object servant = null ;

        try {
            servant = mediator.getInvocationServant( info.id(),
                info.getOperation() );
        } catch (ForwardRequest freq) {
            throw new ForwardException( getORB(), freq.forward_reference ) ;
        }

        info.setServant( servant ) ;
    } finally {
        if (debug) {
            ORBUtility.dprint( this,
                "Exiting getInvocationServant on poa " + this ) ;
        }

        unlock() ;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:30,代码来源:POAImpl.java

示例9: peekThrowNoContext

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
private OAInvocationInfo peekThrowNoContext()
    throws
        NoContext
{
    OAInvocationInfo invocationInfo = null;
    try {
        invocationInfo = orb.peekInvocationInfo() ;
    } catch (EmptyStackException e) {
        throw new NoContext();
    }
    return invocationInfo;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:13,代码来源:POACurrent.java

示例10: peekThrowInternal

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
private OAInvocationInfo peekThrowInternal()
{
    OAInvocationInfo invocationInfo = null;
    try {
        invocationInfo = orb.peekInvocationInfo() ;
    } catch (EmptyStackException e) {
        // The completion status is maybe because this could happen
        // after the servant has been invoked.
        throw wrapper.poacurrentUnbalancedStack( e ) ;
    }
    return invocationInfo;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:13,代码来源:POACurrent.java

示例11: returnServant

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public void returnServant()
{
    OAInvocationInfo info = orb.peekInvocationInfo();
    byte[] id = info.id() ;
    ActiveObjectMap.Key key = new ActiveObjectMap.Key( id ) ;
    AOMEntry entry = activeObjectMap.get( key ) ;
    entry.exit() ;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:9,代码来源:POAPolicyMediatorImpl_R_USM.java

示例12: returnServant

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public void returnServant()
{
    OAInvocationInfo info = orb.peekInvocationInfo();
    if (locator == null)
        return;

    try {
        poa.unlock() ;
        locator.postinvoke(info.id(), (POA)(info.oa()),
            info.getOperation(), info.getCookieHolder().value,
            (Servant)(info.getServantContainer()) );
    } finally {
        poa.lock() ;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:POAPolicyMediatorImpl_NR_USM.java

示例13: peekInvocationInfo

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public OAInvocationInfo peekInvocationInfo()
{
    synchronized (this) {
            checkShutdownState();
    }
    StackImpl stack = (StackImpl)(OAInvocationInfoStack.get()) ;
    return (OAInvocationInfo)(stack.peek()) ;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:9,代码来源:ORBImpl.java

示例14: pushInvocationInfo

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public void pushInvocationInfo( OAInvocationInfo info )
{
    synchronized (this) {
            checkShutdownState();
    }
    StackImpl stack = (StackImpl)(OAInvocationInfoStack.get()) ;
    stack.push( info ) ;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:9,代码来源:ORBImpl.java

示例15: popInvocationInfo

import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public OAInvocationInfo popInvocationInfo()
{
    synchronized (this) {
            checkShutdownState();
    }
    StackImpl stack = (StackImpl)(OAInvocationInfoStack.get()) ;
    return (OAInvocationInfo)(stack.pop()) ;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:9,代码来源:ORBImpl.java


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