-
Enhancement
-
Resolution: Fixed
-
P3
-
1.2.0
-
1.2beta4
-
sparc
-
solaris_2.5
-
Not verified
The method unexportObject in java.rmi.server.RemoteServer should be
moved to its two subclasses java.rmi.server.UnicastRemoteObject and
java.rmi.activation.Activatable. The unexportObject method removes
a remote object from the RMI runtime so that the object can no longer
accept incoming calls. This may also have the pleasant side-effect
of allowing the VM to exit if there are no other non-daemon threads
and no more remote objects in the VM that are accessible to clients.
Currently the unexportObject method is in the class RemoteServer.
This class is too abstract to support a global notion of unexporting
remote objects. The action of unexporting a remote object is really
specific to the type of object through which the remote object was
exported in the first place (e.g., UnicastRemoteObject.exportObject()
and Activatable.exportObject()).
RMI/IIOP also has the same notion of unexporting an object which is
accomplished via the unexportObject method of the
javax.rmi.PortableRemoteObject class. To be consistent among the
server implementation classes in the RMI interface, as well as to
provide for future flexibility in the way in which objects are exported
and unexported, it is desirable to move the unexportObject method from
RemoteServer to its subclasses UnicastRemoteObject and Activatable.
The implementation of the method can remain the same (as it was
in RemoteServer).
moved to its two subclasses java.rmi.server.UnicastRemoteObject and
java.rmi.activation.Activatable. The unexportObject method removes
a remote object from the RMI runtime so that the object can no longer
accept incoming calls. This may also have the pleasant side-effect
of allowing the VM to exit if there are no other non-daemon threads
and no more remote objects in the VM that are accessible to clients.
Currently the unexportObject method is in the class RemoteServer.
This class is too abstract to support a global notion of unexporting
remote objects. The action of unexporting a remote object is really
specific to the type of object through which the remote object was
exported in the first place (e.g., UnicastRemoteObject.exportObject()
and Activatable.exportObject()).
RMI/IIOP also has the same notion of unexporting an object which is
accomplished via the unexportObject method of the
javax.rmi.PortableRemoteObject class. To be consistent among the
server implementation classes in the RMI interface, as well as to
provide for future flexibility in the way in which objects are exported
and unexported, it is desirable to move the unexportObject method from
RemoteServer to its subclasses UnicastRemoteObject and Activatable.
The implementation of the method can remain the same (as it was
in RemoteServer).
- relates to
-
JDK-6433697 Incorrect Javadoc for java.rmi.server.RemoteServer
-
- Open
-