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 RMIServerImpl
clientClosed, close, getDefaultClassLoader, getMBeanServer, getVersion, newClient, setDefaultClassLoader, setMBeanServerModifier and TypeMethodDescriptionprotected voidclientClosed(RMIConnection client) Method called when a client connection created bymakeClientis closed.voidclose()Closes this connection server.Gets the defaultClassLoaderused by this connector server.TheMBeanServerto which this connector server is attached.The version of the RMI Connector Protocol understood by this connector server.Creates a new client connection.voidSets the defaultClassLoaderfor this connector server.voidSets theMBeanServerto which this connector server is attached.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.toString()Answers a string containing a concise, human-readable description of the receiver.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
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.
-