Package com.sun.corba.ee.impl.protocol
Class LocalClientRequestDispatcherBase
- java.lang.Object
-
- com.sun.corba.ee.impl.protocol.LocalClientRequestDispatcherBase
-
- All Implemented Interfaces:
LocalClientRequestDispatcher
- Direct Known Subclasses:
JIDLLocalCRDImpl,POALocalCRDImpl,ServantCacheLocalCRDBase
public abstract class LocalClientRequestDispatcherBase extends java.lang.Object implements LocalClientRequestDispatcher
-
-
Field Summary
Fields Modifier and Type Field Description private static intINITIAL_BACKOFFprivate static java.lang.ThreadLocalisNextCallValidprivate static intMAX_BACKOFFprivate static intMAX_WAIT_TIMEprotected ObjectAdapterFactoryoafprotected ObjectAdapterIdoaidprotected byte[]objectIdprotected ORBorbprotected static POASystemExceptionpoaWrapperprivate intscidprotected booleanservantIsLocalprotected static ORBUtilSystemExceptionwrapper
-
Constructor Summary
Constructors Modifier Constructor Description protectedLocalClientRequestDispatcherBase(ORB orb, int scid, IOR ior)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancheckForCompatibleServant(ServantObject so, java.lang.Class expectedType)Check that the servant in info (which must not be null) is an instance of the expectedType.protected voidcleanupAfterOADestroyed()private voiddisplay(java.lang.String msg)private voiddisplay(java.lang.String msg, int value)private voiddisplay(java.lang.String msg, java.lang.Object value)byte[]getObjectId()protected ServantObjectinternalPreinvoke(Object self, java.lang.String operation, java.lang.Class expectedType)booleanis_local(Object self)ServantObjectservant_preinvoke(Object self, java.lang.String operation, java.lang.Class expectedType)Returns a Java reference to the servant which should be used for this request.private voidservantNotCompatible()booleanuseLocalInvocation(Object self)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.sun.corba.ee.spi.protocol.LocalClientRequestDispatcher
servant_postinvoke
-
-
-
-
Field Detail
-
poaWrapper
protected static final POASystemException poaWrapper
-
wrapper
protected static final ORBUtilSystemException wrapper
-
INITIAL_BACKOFF
private static final int INITIAL_BACKOFF
- See Also:
- Constant Field Values
-
MAX_BACKOFF
private static final int MAX_BACKOFF
- See Also:
- Constant Field Values
-
MAX_WAIT_TIME
private static final int MAX_WAIT_TIME
- See Also:
- Constant Field Values
-
orb
protected ORB orb
-
scid
private int scid
-
servantIsLocal
protected boolean servantIsLocal
-
oaf
protected ObjectAdapterFactory oaf
-
oaid
protected ObjectAdapterId oaid
-
objectId
protected byte[] objectId
-
isNextCallValid
private static final java.lang.ThreadLocal isNextCallValid
-
-
Method Detail
-
getObjectId
public byte[] getObjectId()
-
is_local
public boolean is_local(Object self)
- Specified by:
is_localin interfaceLocalClientRequestDispatcher
-
useLocalInvocation
public boolean useLocalInvocation(Object self)
- Specified by:
useLocalInvocationin interfaceLocalClientRequestDispatcher
-
servantNotCompatible
@InfoMethod private void servantNotCompatible()
-
checkForCompatibleServant
protected boolean checkForCompatibleServant(ServantObject so, java.lang.Class expectedType)
Check that the servant in info (which must not be null) is an instance of the expectedType. If not, set the thread local flag and return false.- Parameters:
so- Servant to checkexpectedType- Type to check against- Returns:
- If the servant is an instance of the expected type
-
internalPreinvoke
protected ServantObject internalPreinvoke(Object self, java.lang.String operation, java.lang.Class expectedType) throws OADestroyed
- Throws:
OADestroyed
-
cleanupAfterOADestroyed
protected void cleanupAfterOADestroyed()
-
display
@InfoMethod private void display(java.lang.String msg)
-
display
@InfoMethod private void display(java.lang.String msg, int value)
-
display
@InfoMethod private void display(java.lang.String msg, java.lang.Object value)
-
servant_preinvoke
public ServantObject servant_preinvoke(Object self, java.lang.String operation, java.lang.Class expectedType)
Description copied from interface:LocalClientRequestDispatcherReturns a Java reference to the servant which should be used for this request. servant_preinvoke() is invoked by a local stub. If a ServantObject object is returned, then its servant field has been set to an object of the expected type (Note: the object may or may not be the actual servant instance). The local stub may cast the servant field to the expected type, and then invoke the operation directly.- Specified by:
servant_preinvokein interfaceLocalClientRequestDispatcher- Parameters:
self- The object reference which delegated to this delegate.operation- a string containing the operation name. The operation name corresponds to the operation name as it would be encoded in a GIOP request.expectedType- a Class object representing the expected type of the servant. The expected type is the Class object associated with the operations class of the stub's interface (e.g. A stub for an interface Foo, would pass the Class object for the FooOperations interface).- Returns:
- a ServantObject object. The method may return a null value if it does not wish to support this optimization (e.g. due to security, transactions, etc). The method must return null if the servant is not of the expected type.
-
-