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


Java ObjectKey.getTemplate方法代码示例

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


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

示例1: locate

import com.sun.corba.se.spi.ior.ObjectKey; //导入方法依赖的package包/类
/** XXX/REVISIT:
 * We do not want to look for a servant in the POA/ServantManager case,
 * but we could in most other cases.  The OA could have a method that
 * returns true if the servant MAY exist, and false only if the servant
 * definitely DOES NOT exist.
 *
 * XXX/REVISIT:
 * We may wish to indicate OBJECT_HERE by some mechanism other than
 * returning a null result.
 *
 * Called from ORB.locate when a LocateRequest arrives.
 * Result is not always absolutely correct: may indicate OBJECT_HERE
 * for non-existent objects, which is resolved on invocation.  This
 * "bug" is unavoidable, since in general the object may be destroyed
 * between a locate and a request.  Note that this only checks that
 * the appropriate ObjectAdapter is available, not that the servant
 * actually exists.
 * Need to signal one of OBJECT_HERE, OBJECT_FORWARD, OBJECT_NOT_EXIST.
 * @return Result is null if object is (possibly) implemented here, otherwise
 * an IOR indicating objref to forward the request to.
 * @exception OBJECT_NOT_EXIST is thrown if we know the object does not
 * exist here, and we are not forwarding.
 */
public IOR locate(ObjectKey okey)
{
    try {
        if (orb.subcontractDebugFlag)
            dprint(".locate->");

        ObjectKeyTemplate oktemp = okey.getTemplate() ;

        try {
            checkServerId(okey);
        } catch (ForwardException fex) {
            return fex.getIOR() ;
        }

        // Called only for its side-effect of throwing appropriate exceptions
        findObjectAdapter(oktemp);

        return null ;
    } finally {
        if (orb.subcontractDebugFlag)
            dprint(".locate<-");
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:47,代码来源:CorbaServerRequestDispatcherImpl.java

示例2: checkServerId

import com.sun.corba.se.spi.ior.ObjectKey; //导入方法依赖的package包/类
protected void checkServerId(ObjectKey okey)
{
    try {
        if (orb.subcontractDebugFlag) {
            dprint(".checkServerId->");
        }

        ObjectKeyTemplate oktemp = okey.getTemplate() ;
        int sId = oktemp.getServerId() ;
        int scid = oktemp.getSubcontractId() ;

        if (!orb.isLocalServerId(scid, sId)) {
            if (orb.subcontractDebugFlag) {
                dprint(".checkServerId: bad server id");
            }

            orb.handleBadServerId(okey);
        }
    } finally {
        if (orb.subcontractDebugFlag) {
            dprint(".checkServerId<-");
        }
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:25,代码来源:CorbaServerRequestDispatcherImpl.java

示例3: init

import com.sun.corba.se.spi.ior.ObjectKey; //导入方法依赖的package包/类
private void init( InputStream istr )
{
    // First, read all of the IIOP IOR data
    GIOPVersion version = new GIOPVersion() ;
    version.read( istr ) ;
    IIOPAddress primary = new IIOPAddressImpl( istr ) ;
    byte[] key = EncapsulationUtility.readOctets( istr ) ;

    ObjectKey okey = orb.getObjectKeyFactory().create( key ) ;
    oktemp = okey.getTemplate() ;
    oid = okey.getId() ;

    proftemp = IIOPFactories.makeIIOPProfileTemplate( orb,
        version, primary ) ;

    // Handle any tagged components (if applicable)
    if (version.getMinor() > 0)
        EncapsulationUtility.readIdentifiableSequence( proftemp,
            orb.getTaggedComponentFactoryFinder(), istr ) ;

    // If there is no codebase in this IOR and there IS a
    // java.rmi.server.codebase property set, we need to
    // update the IOR with the local codebase.  Note that
    // there is only one instance of the local codebase, but it
    // can be safely shared in multiple IORs since it is immutable.
    if (uncachedGetCodeBase() == null) {
        JavaCodebaseComponent jcc = LocalCodeBaseSingletonHolder.comp ;

        if (jcc != null) {
            if (version.getMinor() > 0)
                proftemp.add( jcc ) ;

            codebase = jcc.getURLs() ;
        }

        // Whether codebase is null or not, we have it,
        // and so getCodebase ned never call uncachedGetCodebase.
        cachedCodebase = true;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:41,代码来源:IIOPProfileImpl.java

示例4: handleRequestRequest

import com.sun.corba.se.spi.ior.ObjectKey; //导入方法依赖的package包/类
protected void handleRequestRequest(CorbaMessageMediator messageMediator)
{
    // Does nothing if already unmarshaled.
    ((CDRInputObject)messageMediator.getInputObject()).unmarshalHeader();

    ORB orb = (ORB)messageMediator.getBroker();
    orb.checkShutdownState();

    ObjectKey okey = messageMediator.getObjectKey();
    if (orb.subcontractDebugFlag) {
        ObjectKeyTemplate oktemp = okey.getTemplate() ;
        dprint( ".handleRequest: " + opAndId(messageMediator)
                + ": dispatching to scid: " + oktemp.getSubcontractId());
    }

    CorbaServerRequestDispatcher sc = okey.getServerRequestDispatcher(orb);

    if (orb.subcontractDebugFlag) {
        dprint(".handleRequest: " + opAndId(messageMediator)
               + ": dispatching to sc: " + sc);
    }

    if (sc == null) {
        throw wrapper.noServerScInDispatch() ;
    }

    // NOTE:
    // This is necessary so mediator can act as ResponseHandler
    // and pass necessary info to response constructors located
    // in the subcontract.
    // REVISIT - same class right now.
    //messageMediator.setProtocolHandler(this);

    try {
        orb.startingDispatch();
        sc.dispatch(messageMediator);
    } finally {
        orb.finishedDispatch();
    }
}
 
开发者ID:aducode,项目名称:openjdk-source-code-learn,代码行数:41,代码来源:CorbaMessageMediatorImpl.java

示例5: handleRequestRequest

import com.sun.corba.se.spi.ior.ObjectKey; //导入方法依赖的package包/类
protected void handleRequestRequest(CorbaMessageMediator messageMediator)
{
    // Does nothing if already unmarshaled.
    ((CDRInputObject)messageMediator.getInputObject()).unmarshalHeader();

    ORB orb = (ORB)messageMediator.getBroker();
    synchronized (orb) {
        orb.checkShutdownState();
    }

    ObjectKey okey = messageMediator.getObjectKey();
    if (orb.subcontractDebugFlag) {
        ObjectKeyTemplate oktemp = okey.getTemplate() ;
        dprint( ".handleRequest: " + opAndId(messageMediator)
                + ": dispatching to scid: " + oktemp.getSubcontractId());
    }

    CorbaServerRequestDispatcher sc = okey.getServerRequestDispatcher(orb);

    if (orb.subcontractDebugFlag) {
        dprint(".handleRequest: " + opAndId(messageMediator)
               + ": dispatching to sc: " + sc);
    }

    if (sc == null) {
        throw wrapper.noServerScInDispatch() ;
    }

    // NOTE:
    // This is necessary so mediator can act as ResponseHandler
    // and pass necessary info to response constructors located
    // in the subcontract.
    // REVISIT - same class right now.
    //messageMediator.setProtocolHandler(this);

    try {
        orb.startingDispatch();
        sc.dispatch(messageMediator);
    } finally {
        orb.finishedDispatch();
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:43,代码来源:CorbaMessageMediatorImpl.java


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