Class RMIJRMPServerImpl
- All Implemented Interfaces:
Closeable,AutoCloseable,Remote,RMIServer
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:
-
Constructor Summary
ConstructorsConstructorDescriptionRMIJRMPServerImpl(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf, Map<String, ?> env) Creates a newRMIServerobject that will be exported on the given port using the given socket factories. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcloseClient(RMIConnection client) Closes a client connection made bymakeClient.protected voidCalled byRMIServerImpl.close()to close the connector server by unexporting this object.protected voidexport()Exports this RMI object.protected StringReturns the protocol string for this object.protected RMIConnectionmakeClient(String connectionId, Subject subject) Creates a new client connection as an RMI object exported through JRMP.toStub()Returns a serializable stub for thisRMIServerobject.Methods declared in class javax.management.remote.rmi.RMIServerImpl
clientClosed, close, getDefaultClassLoader, getMBeanServer, getVersion, newClient, setDefaultClassLoader, setMBeanServer
-
Constructor Details
-
RMIJRMPServerImpl
public RMIJRMPServerImpl(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf, Map<String, ?> env) throws IOExceptionCreates a new
RMIServerobject that will be exported on the given port using the given socket factories.- Parameters:
port- the port on which this object and theRMIConnectionImplobjects 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 theRMIServerobject cannot be created.IllegalArgumentException- ifportis negative.
-
-
Method Details
-
export
Description copied from class:RMIServerImplExports this RMI object.
- Specified by:
exportin classRMIServerImpl- Throws:
IOException- if this RMI object cannot be exported.
-
getProtocol
Description copied from class:RMIServerImplReturns the protocol string for this object. The string is
rmifor RMI/JRMP.- Specified by:
getProtocolin classRMIServerImpl- Returns:
- the protocol string for this object.
-
toStub
Returns a serializable stub for this
RMIServerobject.- Specified by:
toStubin classRMIServerImpl- Returns:
- a serializable stub.
- Throws:
IOException- if the stub cannot be obtained - e.g the RMIJRMPServerImpl has not been exported yet.
-
makeClient
Creates a new client connection as an RMI object exported through JRMP. The port and socket factories for the new
RMIConnectionobject are the ones supplied to theRMIJRMPServerImplconstructor.- Specified by:
makeClientin classRMIServerImpl- 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 newRMIConnectionobject cannot be created or exported.
-
closeClient
Description copied from class:RMIServerImplCloses a client connection made by
makeClient.- Specified by:
closeClientin classRMIServerImpl- Parameters:
client- a connection previously returned bymakeClienton which thecloseClientmethod has not previously been called. The behavior is unspecified if these conditions are violated, including the case whereclientis null.- Throws:
IOException- if the client connection cannot be closed.
-
closeServer
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:
closeServerin classRMIServerImpl- Throws:
IOException- if the attempt to close the connector server failed.
-