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


Java CorbaConnection.isPostInitialContexts方法代码示例

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


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

示例1: addServiceContexts

import com.sun.corba.se.spi.transport.CorbaConnection; //导入方法依赖的package包/类
protected void addServiceContexts(CorbaMessageMediator messageMediator)
{
    ORB orb = (ORB)messageMediator.getBroker();
    CorbaConnection c = (CorbaConnection) messageMediator.getConnection();
    GIOPVersion giopVersion = messageMediator.getGIOPVersion();

    ServiceContexts contexts = messageMediator.getRequestServiceContexts();

    addCodeSetServiceContext(c, contexts, giopVersion);

    // Add the RMI-IIOP max stream format version
    // service context to every request.  Once we have GIOP 1.3,
    // we could skip it since we now support version 2, but
    // probably safer to always send it.
    contexts.put(MaxStreamFormatVersionServiceContext.singleton);

    // ORBVersion servicecontext needs to be sent
    ORBVersionServiceContext ovsc = new ORBVersionServiceContext(
                    ORBVersionFactory.getORBVersion() ) ;
    contexts.put( ovsc ) ;

    // NOTE : We only want to send the runtime context the first time
    if ((c != null) && !c.isPostInitialContexts()) {
        // Do not do c.setPostInitialContexts() here.
        // If a client interceptor send_request does a ForwardRequest
        // which ends up using the same connection then the service
        // context would not be sent.
        SendingContextServiceContext scsc =
            new SendingContextServiceContext( orb.getFVDCodeBaseIOR() ) ; //d11638
        contexts.put( scsc ) ;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:33,代码来源:CorbaClientRequestDispatcherImpl.java

示例2: addCodeSetServiceContext

import com.sun.corba.se.spi.transport.CorbaConnection; //导入方法依赖的package包/类
protected void addCodeSetServiceContext(CorbaConnection conn,
                                      ServiceContexts ctxs,
                                      GIOPVersion giopVersion) {

    // REVISIT.  OMG issue 3318 concerning sending the code set
    // service context more than once was deemed too much for the
    // RTF.  Here's our strategy for the moment:
    //
    // Send it on every request (necessary in cases of fragmentation
    // with multithreaded clients or when the first thing on a
    // connection is a LocateRequest).  Provide an ORB property
    // to disable multiple sends.
    //
    // Note that the connection is null in the local case and no
    // service context is included.  We use the ORB provided
    // encapsulation streams.
    //
    // Also, there will be no negotiation or service context
    // in GIOP 1.0.  ISO8859-1 is used for char/string, and
    // wchar/wstring are illegal.
    //
    if (giopVersion.equals(GIOPVersion.V1_0) || conn == null)
        return;

    CodeSetComponentInfo.CodeSetContext codeSetCtx = null;

    if (conn.getBroker().getORBData().alwaysSendCodeSetServiceContext() ||
        !conn.isPostInitialContexts()) {

        // Get the negotiated code sets (if any) out of the connection
        codeSetCtx = conn.getCodeSetContext();
    }

    // Either we shouldn't send the code set service context, or
    // for some reason, the connection doesn't have its code sets.
    // Perhaps the server didn't include them in the IOR.  Uses
    // ISO8859-1 for char and makes wchar/wstring illegal.
    if (codeSetCtx == null)
        return;

    CodeSetServiceContext cssc = new CodeSetServiceContext(codeSetCtx);
    ctxs.put(cssc);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:44,代码来源:CorbaClientRequestDispatcherImpl.java

示例3: getServiceContextsForReply

import com.sun.corba.se.spi.transport.CorbaConnection; //导入方法依赖的package包/类
protected ServiceContexts getServiceContextsForReply(
    CorbaMessageMediator messageMediator, ServiceContexts contexts)
{
    CorbaConnection c = (CorbaConnection) messageMediator.getConnection();

    if (((ORB)messageMediator.getBroker()).subcontractDebugFlag) {
        dprint(".getServiceContextsForReply: "
               + opAndId(messageMediator)
               + ": " + c);
    }

    if (contexts == null) {
        contexts = new ServiceContexts(((ORB)messageMediator.getBroker()));
    }

    // NOTE : We only want to send the runtime context the first time

    if (c != null && !c.isPostInitialContexts()) {
        c.setPostInitialContexts();
        SendingContextServiceContext scsc =
            new SendingContextServiceContext(
                ((ORB)messageMediator.getBroker()).getFVDCodeBaseIOR()) ;

        if (contexts.get( scsc.getId() ) != null)
            throw wrapper.duplicateSendingContextServiceContext() ;

        contexts.put( scsc ) ;

        if ( ((ORB)messageMediator.getBroker()).subcontractDebugFlag)
            dprint(".getServiceContextsForReply: "
                   + opAndId(messageMediator)
                   + ": added SendingContextServiceContext" ) ;
    }

    // send ORBVersion servicecontext as part of the Reply

    ORBVersionServiceContext ovsc
        = new ORBVersionServiceContext(ORBVersionFactory.getORBVersion());

    if (contexts.get( ovsc.getId() ) != null)
        throw wrapper.duplicateOrbVersionServiceContext() ;

    contexts.put( ovsc ) ;

    if ( ((ORB)messageMediator.getBroker()).subcontractDebugFlag)
        dprint(".getServiceContextsForReply: "
               + opAndId(messageMediator)
               + ": added ORB version service context");

    return contexts;
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:52,代码来源:CorbaMessageMediatorImpl.java


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