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 newRMIServer
object that will be exported on the given port using the given socket factories. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
closeClient
(RMIConnection client) Closes a client connection made bymakeClient
.protected void
Called byRMIServerImpl.close()
to close the connector server by unexporting this object.protected void
export()
Exports this RMI object.protected String
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.toStub()
Returns a serializable stub for thisRMIServer
object.Methods declared in class RMIServerImpl
clientClosed, close, getDefaultClassLoader, getMBeanServer, getVersion, newClient, setDefaultClassLoader, setMBeanServer
Modifier and TypeMethodDescriptionprotected void
clientClosed
(RMIConnection client) Method called when a client connection created bymakeClient
is closed.void
close()
Closes this connection server.Gets the defaultClassLoader
used by this connector server.TheMBeanServer
to which this connector server is attached.The version of the RMI Connector Protocol understood by this connector server.Creates a new client connection.void
Sets the defaultClassLoader
for this connector server.void
Sets theMBeanServer
to which this connector server is attached.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Modifier and TypeMethodDescriptionprotected Object
clone()
Creates and returns a copy of this object.boolean
Indicates whether some other object is "equal to" this one.protected void
finalize()
Deprecated, for removal: This API element is subject to removal in a future version.Finalization is deprecated and subject to removal in a future release.final Class
<?> getClass()
Returns the runtime class of thisObject
.int
hashCode()
Returns a hash code value for this object.final void
notify()
Wakes up a single thread that is waiting on this object's monitor.final void
Wakes up all threads that are waiting on this object's monitor.toString()
Returns a string representation of the object.final void
wait()
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.final void
wait
(long timeoutMillis) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.final void
wait
(long timeoutMillis, int nanos) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
-
Constructor Details
-
RMIJRMPServerImpl
public RMIJRMPServerImpl(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf, Map<String, ?> env) throws IOExceptionCreates 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 theRMIConnectionImpl
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 theRMIServer
object cannot be created.IllegalArgumentException
- ifport
is negative.
-
-
Method Details
-
export
Description copied from class:RMIServerImpl
Exports this RMI object.
- Specified by:
export
in classRMIServerImpl
- Throws:
IOException
- if this RMI object cannot be exported.
-
getProtocol
Description copied from class:RMIServerImpl
Returns the protocol string for this object. The string is
rmi
for RMI/JRMP.- Specified by:
getProtocol
in classRMIServerImpl
- Returns:
- the protocol string for this object.
-
toStub
Returns a serializable stub for this
RMIServer
object.- Specified by:
toStub
in 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
RMIConnection
object are the ones supplied to theRMIJRMPServerImpl
constructor.- Specified by:
makeClient
in 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 newRMIConnection
object cannot be created or exported.
-
closeClient
Description copied from class:RMIServerImpl
Closes a client connection made by
makeClient
.- Specified by:
closeClient
in classRMIServerImpl
- Parameters:
client
- a connection previously returned bymakeClient
on which thecloseClient
method has not previously been called. The behavior is unspecified if these conditions are violated, including the case whereclient
is 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:
closeServer
in classRMIServerImpl
- Throws:
IOException
- if the attempt to close the connector server failed.
-