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


Java SpecialMethod.getSpecialMethod方法代码示例

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


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

示例1: handleNullServant

import com.sun.corba.se.impl.protocol.SpecialMethod; //导入方法依赖的package包/类
/** Always throws OBJECT_NOT_EXIST if operation is not a special method.
* If operation is _non_existent or _not_existent, this will just
* return without performing any action, so that _non_existent can return
* false.  Always throws OBJECT_NOT_EXIST for any other special method.
* Update for issue 4385.
*/
protected void handleNullServant(String operation, NullServant nserv )
{
    try {
        if (orb.subcontractDebugFlag) {
            dprint(".handleNullServant->: " + operation);
        }

        SpecialMethod specialMethod =
            SpecialMethod.getSpecialMethod(operation);

        if ((specialMethod == null) ||
            !specialMethod.isNonExistentMethod()) {
            if (orb.subcontractDebugFlag) {
                dprint(".handleNullServant: " + operation
                       + ": throwing OBJECT_NOT_EXIST");
            }

            throw nserv.getException() ;
        }
    } finally {
        if (orb.subcontractDebugFlag) {
            dprint(".handleNullServant<-: " + operation);
        }
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:32,代码来源:CorbaServerRequestDispatcherImpl.java

示例2: getServantWithPI

import com.sun.corba.se.impl.protocol.SpecialMethod; //导入方法依赖的package包/类
protected java.lang.Object getServantWithPI(CorbaMessageMediator request,
                                             ObjectAdapter objectAdapter,
    byte[] objectId, ObjectKeyTemplate oktemp, String operation)
    throws OADestroyed
{
    try {
        if (orb.subcontractDebugFlag) {
            dprint(".getServantWithPI->");
        }

        // Prepare Portable Interceptors for a new server request
        // and invoke receive_request_service_contexts.  The starting
        // point may throw a SystemException or ForwardException.
        orb.getPIHandler().initializeServerPIInfo(request, objectAdapter,
            objectId, oktemp);
        orb.getPIHandler().invokeServerPIStartingPoint();

        objectAdapter.enter() ;

        // This must be set just after the enter so that exceptions thrown by
        // enter do not cause
        // the exception reply to pop the thread stack and do an extra oa.exit.
        if (request != null)
            request.setExecuteReturnServantInResponseConstructor(true);

        java.lang.Object servant = getServant(objectAdapter, objectId,
            operation);

        // Note: we do not know the MDI on a null servant.
        // We only end up in that situation if _non_existent called,
        // so that the following handleNullServant call does not throw an
        // exception.
        String mdi = "unknown" ;

        if (servant instanceof NullServant)
            handleNullServant(operation, (NullServant)servant);
        else
            mdi = objectAdapter.getInterfaces(servant, objectId)[0] ;

        orb.getPIHandler().setServerPIInfo(servant, mdi);

        if (((servant != null) &&
            !(servant instanceof org.omg.CORBA.DynamicImplementation) &&
            !(servant instanceof org.omg.PortableServer.DynamicImplementation)) ||
            (SpecialMethod.getSpecialMethod(operation) != null)) {
            orb.getPIHandler().invokeServerPIIntermediatePoint();
        }

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


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