java.rmi.server (Java SE 23 & JDK 23)
Description: declaration: module: java.rmi, package: java.rmi.server
Keywords: java.rmi.server package

# Package java.rmi.server

package java.rmi.server
Provides classes and interfaces for supporting the server side of RMI. One group of classes are used by the static stubs and skeletons. Another group of classes implements the RMI Transport protocol.

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 and the runtime support for 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.

Since:
  1.1

- Related Packages
  Package
  Description
  java.rmi
  Provides the RMI package.
  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.
- Class
  Description
  ExportException
  An `ExportException` is a `RemoteException` thrown if an attempt to export a remote object fails.
  LoaderHandler
  Deprecated.
  no replacement
  LogStream
  Deprecated.
  no replacement
  ObjID
  An `ObjID` is used to identify a remote object exported to an RMI runtime.
  Operation
  Deprecated.
  no replacement
  RemoteCall
  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).
  RemoteRef
  `RemoteRef` represents the handle for a remote object.
  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`.
  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.
  RMISocketFactory
  An `RMISocketFactory` instance is used by the RMI runtime in order to obtain client and server sockets for RMI calls.
  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.
  ServerRef
  Deprecated.
  No replacement.
  Skeleton
  Deprecated.
  no replacement.
  SkeletonMismatchException
  Deprecated.
  no replacement.
  SkeletonNotFoundException
  Deprecated.
  no replacement.
  SocketSecurityException
  Deprecated.
  This class is obsolete.
  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.
  Unreferenced
  A remote object implementation should implement the `Unreferenced` interface to receive notification when there are no more clients that reference that remote object.