# Package java.rmi

package java.rmi
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.

Since:
  1.1

Related Packages
Package
Description
java.rmi.dgc
Provides classes and interface for RMI distributed garbage-collection (DGC).
java.rmi.registry
Provides a class and two interfaces for the RMI registry.
java.rmi.server
Provides classes and interfaces for supporting the server side of RMI.
Class
Description
AccessException
An `AccessException` is thrown by certain methods of the `java.rmi.Naming` class (specifically `bind`, `rebind`, and `unbind`) to indicate that the caller does not have permission to perform the action requested by the method call.
AlreadyBoundException
An `AlreadyBoundException` is thrown if an attempt is made to bind an object to a name that already has an associated binding in the registry.
ConnectException
A `ConnectException` is thrown if a connection is refused to the remote host for a remote method call.
ConnectIOException
A `ConnectIOException` is thrown if an `IOException` occurs while making a connection to the remote host for a remote method call.
MarshalException
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.
MarshalledObject<T>
A `MarshalledObject` contains a byte stream with the serialized representation of an object given to its constructor.
Naming
The `Naming` class provides methods for storing and obtaining references to remote objects in a remote object registry.
NoSuchObjectException
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.
NotBoundException
A `NotBoundException` is thrown if an attempt is made to lookup or unbind in the registry a name that has no associated binding.
Remote
The `Remote` interface serves to identify interfaces whose methods may be invoked from a non-local virtual machine.
RemoteException
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.
RMISecurityManager
Deprecated, for removal: This API element is subject to removal in a future version.
There is no replacement for the Security Manager.
ServerError
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.
ServerException
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
StubNotFoundException
A `StubNotFoundException` is thrown if a valid stub class could not be found for a remote object when it is exported.
UnexpectedException
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.
UnknownHostException
An `UnknownHostException` is thrown if a `java.net.UnknownHostException` occurs while creating a connection to the remote host for a remote method call.
UnmarshalException
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).