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.
RMIServerImpl
Constructor and Description |
---|
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. |
Modifier and Type | Method and 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 JRMP.
|
Remote |
toStub()
Returns a serializable stub for this
RMIServer object. |
clientClosed, close, getDefaultClassLoader, getMBeanServer, getVersion, newClient, setDefaultClassLoader, setMBeanServer
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.
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.IOException
- if the RMIServer
object
cannot be created.IllegalArgumentException
- if port
is
negative.protected void export() throws IOException
RMIServerImpl
Exports this RMI object.
export
in class RMIServerImpl
IOException
- if this RMI object cannot be exported.protected String getProtocol()
RMIServerImpl
Returns the protocol string for this object. The string is
rmi
for RMI/JRMP and iiop
for RMI/IIOP.
getProtocol
in class RMIServerImpl
public Remote toStub() throws IOException
Returns a serializable stub for this RMIServer
object.
toStub
in class RMIServerImpl
IOException
- if the stub cannot be obtained - e.g the
RMIJRMPServerImpl has not been exported yet.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.
makeClient
in class RMIServerImpl
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.RMIConnection
.IOException
- if the new RMIConnection
object cannot be created or exported.protected void closeClient(RMIConnection client) throws IOException
RMIServerImpl
Closes a client connection made by makeClient
.
closeClient
in class RMIServerImpl
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.IOException
- if the client connection cannot be
closed.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.
closeServer
in class RMIServerImpl
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, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.