Package net.sf.ehcache.distribution
Class ConfigurableRMIClientSocketFactory
- java.lang.Object
-
- net.sf.ehcache.distribution.ConfigurableRMIClientSocketFactory
-
- All Implemented Interfaces:
java.io.Serializable,java.rmi.server.RMIClientSocketFactory
public final class ConfigurableRMIClientSocketFactory extends java.lang.Object implements java.io.Serializable, java.rmi.server.RMIClientSocketFactoryDefault socket timeouts are unlikely to be suitable for cache replication. Sockets should fail fast.This class decorates the RMIClientSocketFactory so as to enable customisations to be placed on newly created sockets.
- Version:
- $Id$
- Author:
- Greg Luck
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ConfigurableRMIClientSocketFactory(java.lang.Integer socketTimeoutMillis)Construct a new socket factory with the given timeout.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.net.SocketcreateSocket(java.lang.String host, int port)Create a client socket connected to the specified host and port.booleanequals(java.lang.Object object)The standard hashCode method which is necessary for SocketFactory classes.static java.rmi.server.RMISocketFactorygetConfiguredRMISocketFactory()Return the JVM-level configuredRMISocketFactory.inthashCode()Implements the Object hashCode method.
-
-
-
Method Detail
-
createSocket
public java.net.Socket createSocket(java.lang.String host, int port) throws java.io.IOExceptionCreate a client socket connected to the specified host and port.If necessary this implementation can be changed to specify the outbound address to use e.g.
Socket socket = new Socket(host, port, localInterface , 0);- Specified by:
createSocketin interfacejava.rmi.server.RMIClientSocketFactory- Parameters:
host- the host nameport- the port number- Returns:
- a socket connected to the specified host and port.
- Throws:
java.io.IOException- if an I/O error occurs during socket creation- Since:
- 1.2
-
hashCode
public int hashCode()
Implements the Object hashCode method.- Overrides:
hashCodein classjava.lang.Object- Returns:
- a hash based on socket options
-
equals
public boolean equals(java.lang.Object object)
The standard hashCode method which is necessary for SocketFactory classes. Omitting this method causes RMI to quickly error out with "too many open files" errors.- Overrides:
equalsin classjava.lang.Object- Parameters:
object- the comparison object- Returns:
- equal if the classes are the same and the socket options are the name.
-
getConfiguredRMISocketFactory
public static java.rmi.server.RMISocketFactory getConfiguredRMISocketFactory()
Return the JVM-level configuredRMISocketFactory.If a global socket factory has been set via the
RMISocketFactory.setSocketFactory(RMISocketFactory)method then that factory will be returned. Otherwise the default socket factory as returned byRMISocketFactory.getDefaultSocketFactory()is used instead.- Returns:
- the configured @{code
RMISocketFactory
-
-