本文整理汇总了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);
}
}
}
示例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<-");
}
}
}