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:
socketfactory
- 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
- Parameters:
task
- timeout
-
- Returns:
- a socket
- Throws:
IOException
UnknownHostException
ConnectTimeoutException
Copyright (c) 1999-2005 - Apache Software Foundation