public
classUnicastRemoteObject
extends RemoteServer
Overview
Inheritance
Members
Usage
Source
Books
SinceJDK1.1
Version1.39, 05/05/07
Author(s)Ann Wollrath, Peter Jones
Used for exporting a remote object with JRMP and obtaining a stub
that communicates to the remote object.
For the constructors and static exportObject methods
below, the stub for a remote object being exported is obtained as
follows:
If the remote object is exported using the UnicastRemoteObject.exportObject(Remote) method,
a stub class (typically pregenerated from the remote object's class
using the rmic tool) is loaded and an instance of that stub
class is constructed as follows.
A "root class" is determined as follows: if the remote object's
class directly implements an interface that extends Remote , then
the remote object's class is the root class; otherwise, the root class is
the most derived superclass of the remote object's class that directly
implements an interface that extends Remote.
The name of the stub class to load is determined by concatenating
the binary name of the root class with the suffix "_Stub".
The stub class is loaded by name using the class loader of the root
class. The stub class must extend RemoteStub and must have a
public constructor that has one parameter, of type RemoteRef .
Finally, an instance of the stub class is constructed with a
RemoteRef .
If the appropriate stub class could not be found, or the stub class
could not be loaded, or a problem occurs creating the stub instance, a
StubNotFoundException is thrown.
For all other means of exporting:
If the remote object's stub class (as defined above) could not be
loaded or the system property
java.rmi.server.ignoreStubClasses is set to
"true" (case insensitive), a Proxy instance is constructed with the following
properties:
The proxy's class is defined by the class loader of the remote
object's class.
The proxy implements all the remote interfaces implemented by the
remote object's class.
For the constructors and static
exportObjectmethods below, the stub for a remote object being exported is obtained as follows:rmictool) is loaded and an instance of that stub class is constructed as follows.Remote."_Stub".java.rmi.server.ignoreStubClassesis set to"true"(case insensitive), a Proxy instance is constructed with the following properties: