The java.rmi.server Package
The java.rmi.server
package is the most complex of all the RMI packages; it contains the
scaffolding for building remote objects and thus is used by objects
whose methods will be invoked by clients. The package defines 6
exceptions, 9 interfaces, and 10 classes. Fortunately, you need to be
familiar with only a few of these to write remote objects. The
important classes are the RemoteObject
class,
which is the basis for all remote objects; the
RemoteServer
class, which extends
RemoteObject
; and the
UnicastRemoteObject
class, which extends
Remote Server
. Any remote objects you write will
likely either extend or use UnicastRemoteObject
.
Clients that call remote methods but are not themselves remote
objects don’t use these classes, and therefore don’t need
to import java.rmi.server
.
The RemoteObject Class
Technically, a remote object is not an instance of the
RemoteObject
class but an instance of any class that
implements a Remote
interface. In practice, most
remote objects will be instances of a subclass of
java.rmi.server.RemoteObject
:
public abstract class RemoteObject extends Object implements Remote, Serializable
You can think of this class as a special version of
java.lang.Object
for remote objects. It provides
toString( )
, hashCode( )
,
clone( )
, and equals( )
methods
that make sense for remote objects. If you create a remote object
that does not extend RemoteObject
, you need to
override these methods yourself.
The equals( )
method compares the remote ...
Get Java Network Programming, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.