compact3
javax.management.remote.rmi

## Class RMIIIOPServerImpl

- java.lang.Object
- - javax.management.remote.rmi.RMIServerImpl
  - - javax.management.remote.rmi.RMIIIOPServerImpl

- All Implemented Interfaces:
    Closeable, AutoCloseable, Remote, RMIServer

      public class RMIIIOPServerImpl
      extends RMIServerImpl

  An `RMIServerImpl` that is exported through IIOP and that creates client connections as RMI objects exported through IIOP. User code does not usually reference this class directly.

  Since:
    1.5
  See Also:
    `RMIServerImpl`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RMIIIOPServerImpl(Map<String,?> env)` | Creates a new `RMIServerImpl`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `closeClient(RMIConnection client)` | Closes a client connection made by `makeClient`.
    `protected void` | `closeServer()` | Called by `RMIServerImpl.close()` to close the connector server by unexporting this object.
    `protected void` | `export()` | Exports this RMI object.
    `protected String` | `getProtocol()` | Returns the protocol string for this object.
    `protected RMIConnection` | `makeClient(String connectionId, Subject subject)` | Creates a new client connection as an RMI object exported through IIOP.
    `Remote` | `toStub()` | Returns an IIOP stub.

    - ### Methods inherited from class javax.management.remote.rmi.RMIServerImpl

      `clientClosed, close, getDefaultClassLoader, getMBeanServer, getVersion, newClient, setDefaultClassLoader, setMBeanServer`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RMIIIOPServerImpl

          public RMIIIOPServerImpl(Map<String,?> env)
                            throws IOException

      Creates a new `RMIServerImpl`.

      Parameters:
        `env` - the environment containing attributes for the new `RMIServerImpl`. Can be null, which is equivalent to an empty Map.
      Throws:
        `IOException` - if the RMI object cannot be created.

  - ### Method Detail

    - #### export

          protected void export()
                         throws IOException

      Description copied from class: `RMIServerImpl`

      Exports this RMI object.

      Specified by:
        `export` in class `RMIServerImpl`
      Throws:
        `IOException` - if this RMI object cannot be exported.

    - #### getProtocol

          protected String getProtocol()

      Description copied from class: `RMIServerImpl`

      Returns the protocol string for this object. The string is `rmi` for RMI/JRMP and `iiop` for RMI/IIOP.

      Specified by:
        `getProtocol` in class `RMIServerImpl`
      Returns:
        the protocol string for this object.

    - #### toStub

          public Remote toStub()
                        throws IOException

      Returns an IIOP stub.

      The stub might not yet be connected to the ORB. The stub will be serializable only if it is connected to the ORB.
      Specified by:
        `toStub` in class `RMIServerImpl`
      Returns:
        an IIOP stub.
      Throws:
        `IOException` - if the stub cannot be created - e.g the RMIIIOPServerImpl has not been exported yet.

    - #### makeClient

          protected RMIConnection makeClient(String connectionId,
                                             Subject subject)
                                      throws IOException

      Creates a new client connection as an RMI object exported through IIOP.

      Specified by:
        `makeClient` in class `RMIServerImpl`
      Parameters:
        `connectionId` - the ID of the new connection. Every connection opened by this connector server will have a different ID. The behavior is unspecified if this parameter is null.
        `subject` - the authenticated subject. Can be null.
      Returns:
        the newly-created `RMIConnection`.
      Throws:
        `IOException` - if the new client object cannot be created or exported.

    - #### closeClient

          protected void closeClient(RMIConnection client)
                              throws IOException

      Description copied from class: `RMIServerImpl`

      Closes a client connection made by `makeClient`.

      Specified by:
        `closeClient` in class `RMIServerImpl`
      Parameters:
        `client` - a connection previously returned by `makeClient` on which the `closeClient` method has not previously been called. The behavior is unspecified if these conditions are violated, including the case where `client` is null.
      Throws:
        `IOException` - if the client connection cannot be closed.

    - #### closeServer

          protected void closeServer()
                              throws IOException

      Called by `RMIServerImpl.close()` to close the connector server by unexporting this object. After returning from this method, the connector server must not accept any new connections.

      Specified by:
        `closeServer` in class `RMIServerImpl`
      Throws:
        `IOException` - if the attempt to close the connector server failed.

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.