compact3

# 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 | `RemoteRef` represents the handle for a remote object.
  RMIClientSocketFactory | An `RMIClientSocketFactory` instance is used by the RMI runtime in order to obtain client sockets for RMI calls.
  RMIFailureHandler | An `RMIFailureHandler` can be registered via the `RMISocketFactory.setFailureHandler` call.
  RMIServerSocketFactory | 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.
  Unreferenced | 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
  ObjID | An `ObjID` is used to identify a remote object exported to an RMI runtime.
  Operation | Deprecated no replacement
  RemoteObject | The `RemoteObject` class implements the `java.lang.Object` behavior for remote objects.
  RemoteObjectInvocationHandler | An implementation of the `InvocationHandler` interface for use with Java Remote Method Invocation (Java RMI).
  RemoteServer | 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 | `RMIClassLoader` comprises static methods to support dynamic class loading with RMI.
  RMIClassLoaderSpi | `RMIClassLoaderSpi` is the service provider interface for `RMIClassLoader`.
  RMISocketFactory | An `RMISocketFactory` instance is used by the RMI runtime in order to obtain client and server sockets for RMI calls.
  UID | 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.
  UnicastRemoteObject | Used for exporting a remote object with JRMP and obtaining a stub that communicates to the remote object.

- Exception Summary
  Exception | Description
  --- | ---
  ExportException | An `ExportException` is a `RemoteException` thrown if an attempt to export a remote object fails.
  ServerCloneException | A `ServerCloneException` is thrown if a remote exception occurs during the cloning of a `UnicastRemoteObject`.
  ServerNotActiveException | 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.

Since:
  JDK1.1

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.