CONTENTS | PREV | NEXT | Java Remote Method Invocation |
RemoteStub
Classjava.rmi.server.RemoteStub
class is the common
superclass for stubs of remote objects. Stub objects are surrogates
that support exactly the same set of remote interfaces defined by
the actual implementation of a remote object.
package java.rmi.server; public abstract class RemoteStub extends java.rmi.RemoteObject { protected RemoteStub() {...} protected RemoteStub(RemoteRef ref) {...} protected static void setRef(RemoteStub stub, RemoteRef ref) {...} }The first constructor of
RemoteStub
creates a stub with a null
remote reference. The second constructor creates a stub with the
given remote reference, ref.
The setRef
method is
deprecated (and unsupported) as of the Java 2 SDK, Standard
Edition, v1.2.
Because the stub implements the same set of remote interfaces as the remote object's class, the stub has the same type as the remote portions of the server object's type graph. A client, therefore, can make use of the built-in Java programming language operations to check a remote object's type and to cast from one remote interface to another.
Stubs are generated using the
rmic
compiler.
final
final
in the java.lang.Object
class and
therefore cannot be overridden by any implementation:
The default implementation for
getClass
is appropriate for all objects written in the
Java programming language, local or remote; so, the method needs no
special implementation for remote objects. When used on a remote
stub, the getClass
method reports the exact type of
the stub object, generated by rmic
. Note that stub
type reflects only the remote interfaces implemented by the remote
object, not that object's local interfaces.
The wait
and
notify
methods of java.lang.Object
deal
with waiting and notification in the context of the Java
programming language's threading model. While use of these
methods for remote stubs does not break the threading model, these
methods do not have the same semantics as they do for local objects
written in the Java programming language. Specifically, these
methods operate on the client's local reference to the remote
object (the stub), not the actual object at the remote site.