/OpenJDK 8 Web

Package java.rmi.server

Provides classes and interfaces for supporting the server side of RMI.

See: Description

Interface Summary
Interface Description
LoaderHandler Deprecated

no replacement

RemoteCall Deprecated

no replacement.


RemoteRef represents the handle for a remote object.


An RMIClientSocketFactory instance is used by the RMI runtime in order to obtain client sockets for RMI calls.


An RMIFailureHandler can be registered via the RMISocketFactory.setFailureHandler call.


An RMIServerSocketFactory instance is used by the RMI runtime in order to obtain server sockets for RMI calls.

ServerRef Deprecated

No replacement.

Skeleton Deprecated

no replacement.


A remote object implementation should implement the Unreferenced interface to receive notification when there are no more clients that reference that remote object.

Class Summary
Class Description
LogStream Deprecated

no replacement


An ObjID is used to identify a remote object exported to an RMI runtime.

Operation Deprecated

no replacement


The RemoteObject class implements the java.lang.Object behavior for remote objects.


An implementation of the InvocationHandler interface for use with Java Remote Method Invocation (Java RMI).


The RemoteServer class is the common superclass to server implementations and provides the framework to support a wide range of remote reference semantics.

RemoteStub Deprecated

Statically generated stubs are deprecated, since stubs are generated dynamically.


RMIClassLoader comprises static methods to support dynamic class loading with RMI.


RMIClassLoaderSpi is the service provider interface for RMIClassLoader.


An RMISocketFactory instance is used by the RMI runtime in order to obtain client and server sockets for RMI calls.


A UID represents an identifier that is unique over time with respect to the host it is generated on, or one of 216 "well-known" identifiers.


Used for exporting a remote object with JRMP and obtaining a stub that communicates to the remote object.

Exception Summary
Exception Description

An ExportException is a RemoteException thrown if an attempt to export a remote object fails.


A ServerCloneException is thrown if a remote exception occurs during the cloning of a UnicastRemoteObject.


An ServerNotActiveException is an Exception thrown during a call to RemoteServer.getClientHost if the getClientHost method is called outside of servicing a remote method call.

SkeletonMismatchException Deprecated

no replacement.

SkeletonNotFoundException Deprecated

no replacement.

SocketSecurityException Deprecated

This class is obsolete.

Package java.rmi.server Description

Provides classes and interfaces for supporting the server side of RMI. A group of classes are used by the stubs and skeletons generated by the rmic stub compiler. Another group of classes implements the RMI Transport protocol and HTTP tunneling.

Deprecated: HTTP Tunneling. The HTTP tunneling mechanism has been deprecated. See RMISocketFactory for further information.

Deprecated: Skeletons and Static Stubs. Skeletons and statically generated stubs are deprecated. This includes the APIs in this package that require the use of skeletons or static stubs, the runtime support for them, and the use of the rmic stub compiler to generate them. Support for skeletons and static stubs may be removed in a future release of the platform. Skeletons are unnecessary, as server-side method dispatching is handled directly by the RMI runtime. Statically generated stubs are unnecessary, as stubs are generated dynamically using Proxy objects. See UnicastRemoteObject for information about dynamic stub generation. Generation of skeletons and static stubs was typically performed as part of an application's build process by calling the rmic tool. This is unnecessary, and calls to rmic can simply be omitted.


© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.