javax.rmi
Class PortableRemoteObject
java.lang.Object
|
+--javax.rmi.PortableRemoteObject
- public class PortableRemoteObject
- extends java.lang.Object
Server implementation objects may either inherit from
javax.rmi.PortableRemoteObject or they may implement a remote interface
and then use the exportObject method to register themselves as a server object.
The toStub method takes a server implementation and returns a stub that
can be used to access that server object.
The connect method makes a Remote object ready for remote communication.
The unexportObject method is used to deregister a server object, allowing it to become
available for garbage collection.
The narrow method takes an object reference or abstract interface type and
attempts to narrow it to conform to
the given interface. If the operation is successful the result will be an
object of the specified type, otherwise an exception will be thrown.
Constructor Summary |
protected |
PortableRemoteObject()
Initializes the object by calling exportObject(this) . |
Method Summary |
static void |
connect(java.rmi.Remote target,
java.rmi.Remote source)
Makes a Remote object ready for remote communication. |
static void |
exportObject(java.rmi.Remote obj)
Makes a server object ready to receive remote calls. |
static java.lang.Object |
narrow(java.lang.Object narrowFrom,
java.lang.Class narrowTo)
Checks to ensure that an object of a remote or abstract interface type
can be cast to a desired type. |
static java.rmi.Remote |
toStub(java.rmi.Remote obj)
Returns a stub for the given server object. |
static void |
unexportObject(java.rmi.Remote obj)
Deregisters a server object from the runtime, allowing the object to become
available for garbage collection. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
PortableRemoteObject
protected PortableRemoteObject()
throws java.rmi.RemoteException
- Initializes the object by calling
exportObject(this)
.
- Throws:
- java.rmi.RemoteException - if export fails.
exportObject
public static void exportObject(java.rmi.Remote obj)
throws java.rmi.RemoteException
- Makes a server object ready to receive remote calls. Note
that subclasses of PortableRemoteObject do not need to call this
method, as it is called by the constructor.
- Parameters:
obj
- the server object to export.- Throws:
- java.rmi.RemoteException - if export fails.
toStub
public static java.rmi.Remote toStub(java.rmi.Remote obj)
throws java.rmi.NoSuchObjectException
- Returns a stub for the given server object.
- Parameters:
obj
- the server object for which a stub is required. Must either be a subclass
of PortableRemoteObject or have been previously the target of a call to
exportObject(java.rmi.Remote)
.- Returns:
- the most derived stub for the object.
- Throws:
- java.rmi.NoSuchObjectException - if a stub cannot be located for the given server object.
unexportObject
public static void unexportObject(java.rmi.Remote obj)
throws java.rmi.NoSuchObjectException
- Deregisters a server object from the runtime, allowing the object to become
available for garbage collection.
- Parameters:
obj
- the object to unexport.- Throws:
- java.rmi.NoSuchObjectException - if the remote object is not
currently exported.
narrow
public static java.lang.Object narrow(java.lang.Object narrowFrom,
java.lang.Class narrowTo)
throws java.lang.ClassCastException
- Checks to ensure that an object of a remote or abstract interface type
can be cast to a desired type.
- Parameters:
narrowFrom
- the object to check.narrowTo
- the desired type.- Returns:
- an object which can be cast to the desired type.
- Throws:
- java.lang.ClassCastException - if narrowFrom cannot be cast to narrowTo.
connect
public static void connect(java.rmi.Remote target,
java.rmi.Remote source)
throws java.rmi.RemoteException
- Makes a Remote object ready for remote communication. This normally
happens implicitly when the object is sent or received as an argument
on a remote method call, but in some circumstances it is useful to
perform this action by making an explicit call. See the
Stub.connect(org.omg.CORBA.ORB)
method for more information.
- Parameters:
target
- the object to connect.source
- a previously connected object.- Throws:
- java.rmi.RemoteException - if
source
is not connected
or if target
is already connected to a different ORB than
source
.