Class RMIJRMPServerImpl

    • 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

      • 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.
      • 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.