/OpenJDK 8 Web

Package java.rmi

Provides the RMI package.

See: Description

Interface Summary
Interface Description

The Remote interface serves to identify interfaces whose methods may be invoked from a non-local virtual machine.

Class Summary
Class Description

A MarshalledObject contains a byte stream with the serialized representation of an object given to its constructor.


The Naming class provides methods for storing and obtaining references to remote objects in a remote object registry.

RMISecurityManager Deprecated

Use SecurityManager instead.

Exception Summary
Exception Description

An AccessException is thrown by certain methods of the java.rmi.Naming class (specifically bind, rebind, and unbind) and methods of the java.rmi.activation.ActivationSystem interface to indicate that the caller does not have permission to perform the action requested by the method call.


An AlreadyBoundException is thrown if an attempt is made to bind an object in the registry to a name that already has an associated binding.


A ConnectException is thrown if a connection is refused to the remote host for a remote method call.


A ConnectIOException is thrown if an IOException occurs while making a connection to the remote host for a remote method call.


A MarshalException is thrown if a java.io.IOException occurs while marshalling the remote call header, arguments or return value for a remote method call.


A NoSuchObjectException is thrown if an attempt is made to invoke a method on an object that no longer exists in the remote virtual machine.


A NotBoundException is thrown if an attempt is made to lookup or unbind in the registry a name that has no associated binding.


A RemoteException is the common superclass for a number of communication-related exceptions that may occur during the execution of a remote method call.

RMISecurityException Deprecated

Use SecurityException instead.


A ServerError is thrown as a result of a remote method invocation when an Error is thrown while processing the invocation on the server, either while unmarshalling the arguments, executing the remote method itself, or marshalling the return value.


A ServerException is thrown as a result of a remote method invocation when a RemoteException is thrown while processing the invocation on the server, either while unmarshalling the arguments or executing the remote method itself.

ServerRuntimeException Deprecated

no replacement


A StubNotFoundException is thrown if a valid stub class could not be found for a remote object when it is exported.


An UnexpectedException is thrown if the client of a remote method call receives, as a result of the call, a checked exception that is not among the checked exception types declared in the throws clause of the method in the remote interface.


An UnknownHostException is thrown if a java.net.UnknownHostException occurs while creating a connection to the remote host for a remote method call.


An UnmarshalException can be thrown while unmarshalling the parameters or results of a remote method call if any of the following conditions occur: if an exception occurs while unmarshalling the call header if the protocol for the return value is invalid if a java.io.IOException occurs unmarshalling parameters (on the server side) or the return value (on the client side).

Package java.rmi Description

Provides the RMI package. RMI is Remote Method Invocation. It is a mechanism that enables an object on one Java virtual machine to invoke methods on an object in another Java virtual machine. Any object that can be invoked this way must implement the Remote interface. When such an object is invoked, its arguments are ``marshalled'' and sent from the local virtual machine to the remote one, where the arguments are ``unmarshalled.'' When the method terminates, the results are marshalled from the remote machine and sent to the caller's virtual machine. If the method invocation results in an exception being thrown, the exception is indicated to caller.


© 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.