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


Java ServiceContexts.get方法代码示例

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


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

示例1: getStreamFormatVersionForReply

import com.sun.corba.se.spi.servicecontext.ServiceContexts; //导入方法依赖的package包/类
/**
 * If the RMI-IIOP maximum stream format version service context
 * is present, it indicates the maximum stream format version we
 * could use for the reply.  If it isn't present, the default is
 * 2 for GIOP 1.3 or greater, 1 for lower.
 *
 * This is only sent on requests.  Clients can find out the
 * server's maximum by looking for a tagged component in the IOR.
 */
public byte getStreamFormatVersionForReply() {

    // NOTE: The request service contexts may indicate the max.
    ServiceContexts svc = getRequestServiceContexts();

    MaxStreamFormatVersionServiceContext msfvsc
        = (MaxStreamFormatVersionServiceContext)svc.get(
            MaxStreamFormatVersionServiceContext.SERVICE_CONTEXT_ID);

    if (msfvsc != null) {
        byte localMaxVersion = ORBUtility.getMaxStreamFormatVersion();
        byte remoteMaxVersion = msfvsc.getMaximumStreamFormatVersion();

        return (byte)Math.min(localMaxVersion, remoteMaxVersion);
    } else {
        // Defaults to 1 for GIOP 1.2 or less, 2 for
        // GIOP 1.3 or higher.
        if (getGIOPVersion().lessThan(GIOPVersion.V1_3))
            return ORBConstants.STREAM_FORMAT_VERSION_1;
        else
            return ORBConstants.STREAM_FORMAT_VERSION_2;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:33,代码来源:CorbaMessageMediatorImpl.java

示例2: consumeServiceContexts

import com.sun.corba.se.spi.servicecontext.ServiceContexts; //导入方法依赖的package包/类
protected void consumeServiceContexts(ORB orb,
                                    CorbaMessageMediator messageMediator)
{
    ServiceContexts ctxts = messageMediator.getReplyServiceContexts();
    ServiceContext sc ;
    ORBUtilSystemException wrapper = ORBUtilSystemException.get( orb,
            CORBALogDomains.RPC_PROTOCOL ) ;

    if (ctxts == null) {
        return; // no service context available, return gracefully.
    }

    sc = ctxts.get( SendingContextServiceContext.SERVICE_CONTEXT_ID ) ;

    if (sc != null) {
        SendingContextServiceContext scsc =
            (SendingContextServiceContext)sc ;
        IOR ior = scsc.getIOR() ;

        try {
            // set the codebase returned by the server
            if (messageMediator.getConnection() != null) {
                ((CorbaConnection)messageMediator.getConnection()).setCodeBaseIOR(ior);
            }
        } catch (ThreadDeath td) {
            throw td ;
        } catch (Throwable t) {
            throw wrapper.badStringifiedIor( t ) ;
        }
    }

    // see if the version subcontract is present, if yes, then set
    // the ORBversion
    sc = ctxts.get( ORBVersionServiceContext.SERVICE_CONTEXT_ID ) ;

    if (sc != null) {
        ORBVersionServiceContext ovsc =
           (ORBVersionServiceContext) sc;

        ORBVersion version = ovsc.getVersion();
        orb.setORBVersion( version ) ;
    }

    getExceptionDetailMessage(messageMediator, wrapper);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:46,代码来源:CorbaClientRequestDispatcherImpl.java

示例3: getServiceContext

import com.sun.corba.se.spi.servicecontext.ServiceContexts; //导入方法依赖的package包/类
/**
 * Utility method to look up a service context with the given id and
 * convert it to an IOP.ServiceContext.  Uses the given HashMap as
 * a cache.  If not found in cache, the result is inserted in the cache.
 */
protected org.omg.IOP.ServiceContext
    getServiceContext ( HashMap cachedServiceContexts,
                        ServiceContexts serviceContexts, int id )
{
    org.omg.IOP.ServiceContext result = null;
    Integer integerId = new Integer( id );

    // Search cache first:
    result = (org.omg.IOP.ServiceContext)
        cachedServiceContexts.get( integerId );

    // null could normally mean that either we cached the value null
    // or it's not in the cache.  However, there is no way for us to
    // cache the value null in the following code.
    if( result == null ) {
        // Not in cache.  Find it and put in cache.
        // Get the desired "core" service context.
        com.sun.corba.se.spi.servicecontext.ServiceContext context =
            serviceContexts.get( id );
        if (context == null)
            throw stdWrapper.invalidServiceContextId() ;

        // Convert the "core" service context to an
        // "IOP" ServiceContext by writing it to a
        // CDROutputStream and reading it back.
        EncapsOutputStream out =
            sun.corba.OutputStreamFactory.newEncapsOutputStream(myORB);

        context.write( out, GIOPVersion.V1_2 );
        InputStream inputStream = out.create_input_stream();
        result = ServiceContextHelper.read( inputStream );

        cachedServiceContexts.put( integerId, result );
    }

    // Good citizen: For increased efficiency, we assume that interceptors
    // will not modify the returned ServiceContext.  Otherwise, we would
    // have to make a deep copy.

    return result;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:47,代码来源:RequestInfoImpl.java


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