org.apache.commons.httpclient.protocol
Class ControllerThreadSocketFactory
java.lang.Object
org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory
public final class ControllerThreadSocketFactory
- extends Object
This helper class is intedned to help work around the limitation of older Java versions
(older than 1.4) that prevents from specifying a connection timeout when creating a
socket. This factory executes a controller thread overssing the process of socket
initialisation. If the socket constructor cannot be created within the specified time
limit, the controller terminates and throws an ConnectTimeoutException
- Since:
- 3.0
- Author:
- Ortwin Glueck, Oleg Kalnichevski
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
createSocket
public static Socket createSocket(ProtocolSocketFactory socketfactory,
String host,
int port,
InetAddress localAddress,
int localPort,
int timeout)
throws IOException,
UnknownHostException,
ConnectTimeoutException
- This method spawns a controller thread overseeing the process of socket
initialisation. If the socket constructor cannot be created within the specified time
limit, the controller terminates and throws an
ConnectTimeoutException
- Parameters:
host - the host name/IPport - the port on the hostlocalAddress - the local host name/IP to bind the socket tolocalPort - the port on the local machinetimeout - the timeout value to be used in milliseconds. If the socket cannot be
completed within the given time limit, it will be abandoned
- Returns:
- a connected Socket
- Throws:
IOException - if an I/O error occurs while creating the socket
UnknownHostException - if the IP address of the host cannot be
determined
ConnectTimeoutException - if socket cannot be connected within the
given time limit
createSocket
public static Socket createSocket(ControllerThreadSocketFactory.SocketTask task,
int timeout)
throws IOException,
UnknownHostException,
ConnectTimeoutException
- Throws:
IOException
UnknownHostException
ConnectTimeoutException
Copyright © 2001-2007 Apache Software Foundation. All Rights Reserved.