java.lang.Object | |
↳ | java.rmi.server.RMISocketFactory |
Known Direct Subclasses |
An RMISocketFactory
instance is used by the RMI runtime
in order to obtain client and server sockets for RMI calls. An
application may use the setSocketFactory
method to
request that the RMI runtime use its socket factory instance
instead of the default implementation.
The default socket factory implementation used goes through a three-tiered approach to creating client sockets. First, a direct socket connection to the remote VM is attempted. If that fails (due to a firewall), the runtime uses HTTP with the explicit port number of the server. If the firewall does not allow this type of communication, then HTTP to a cgi-bin script on the server is used to POST the RMI call.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs an
RMISocketFactory . |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Create a server socket on the specified port (port 0 indicates
an anonymous port).
| |||||||||||
Creates a client socket connected to the specified host and port.
| |||||||||||
Returns a reference to the default socket factory used
by this RMI implementation.
| |||||||||||
Returns the handler for socket creation failure set by the
setFailureHandler method. | |||||||||||
Returns the socket factory set by the
setSocketFactory
method. | |||||||||||
Sets the failure handler to be called by the RMI runtime if server
socket creation fails.
| |||||||||||
Set the global socket factory from which RMI gets sockets (if the
remote object is not associated with a specific client and/or server
socket factory).
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
java.rmi.server.RMIClientSocketFactory
| |||||||||||
From interface
java.rmi.server.RMIServerSocketFactory
|
Constructs an RMISocketFactory
.
Create a server socket on the specified port (port 0 indicates an anonymous port).
port | the port number |
---|
IOException | if an I/O error occurs during server socket creation |
---|
Creates a client socket connected to the specified host and port.
host | the host name |
---|---|
port | the port number |
IOException | if an I/O error occurs during socket creation |
---|
Returns a reference to the default socket factory used
by this RMI implementation. This will be the factory used
by the RMI runtime when getSocketFactory
returns null
.
Returns the handler for socket creation failure set by the
setFailureHandler
method.
Returns the socket factory set by the setSocketFactory
method. Returns null
if no socket factory has been
set.
Sets the failure handler to be called by the RMI runtime if server socket creation fails. By default, if no failure handler is installed and server socket creation fails, the RMI runtime does attempt to recreate the server socket.
If there is a security manager, this method first calls
the security manager's checkSetFactory
method
to ensure the operation is allowed.
This could result in a SecurityException
.
fh | the failure handler |
---|
SecurityException | if a security manager exists and its
checkSetFactory method doesn't allow the
operation. |
---|
Set the global socket factory from which RMI gets sockets (if the remote object is not associated with a specific client and/or server socket factory). The RMI socket factory can only be set once. Note: The RMISocketFactory may only be set if the current security manager allows setting a socket factory; if disallowed, a SecurityException will be thrown.
fac | the socket factory |
---|
IOException | if the RMI socket factory is already set |
---|---|
SecurityException | if a security manager exists and its
checkSetFactory method doesn't allow the operation. |