JavaTM 2 Platform
Standard Ed. 5.0

javax.management.remote.rmi
Class RMIJRMPServerImpl

java.lang.Object
  extended by javax.management.remote.rmi.RMIServerImpl
      extended by javax.management.remote.rmi.RMIJRMPServerImpl
All Implemented Interfaces:
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.

JavaTM 2 Platform
Standard Ed. 5.0

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

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