Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.management.remote.rmi
Class RMIJRMPServerImpl

    java.lang.Object
      javax.management.remote.rmi.RMIServerImpl
          javax.management.remote.rmi.RMIJRMPServerImpl

All Implemented Interfaces:
  Closeable, Remote, RMIServer

    public class RMIJRMPServerImpl

extends RMIServerImpl

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

Since:
  1.5
See Also:
  `RMIServerImpl`

Constructor Summary
`RMIJRMPServerImpl(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf, Map<String,?> env)` Creates a new `RMIServer` object that will be exported on the given port using the given socket factories.

Method Summary
`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 JRMP.
`Remote` | `toStub()` Returns a serializable stub for this `RMIServer` object.

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

### RMIJRMPServerImpl

    public RMIJRMPServerImpl(int port,
                             RMIClientSocketFactory csf,
                             RMIServerSocketFactory ssf,
                             Map<String,?> env)
                      throws IOException

  Creates a new `RMIServer` object that will be exported on the given port using the given socket factories.

  Parameters:
    `port` - the port on which this object and the `RMIConnectionImpl` objects it creates will be exported. Can be zero, to indicate any available port.
    `csf` - the client socket factory for the created RMI objects. Can be null.
    `ssf` - the server socket factory for the created RMI objects. Can be null.
    `env` - the environment map. Can be null.
  Throws:
    `IOException` - if the `RMIServer` object cannot be created.
    `IllegalArgumentException` - if `port` is negative.

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 a serializable stub for this `RMIServer` object.

  Specified by:
    `toStub` in class `RMIServerImpl`
  Returns:
    a serializable stub.
  Throws:
    `IOException` - if the stub cannot be obtained - e.g the RMIJRMPServerImpl 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 JRMP. The port and socket factories for the new `RMIConnection` object are the ones supplied to the `RMIJRMPServerImpl` constructor.

  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 `RMIConnection` 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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.