org.mortbay.jetty.client
Class HttpClient
java.lang.Object
org.mortbay.component.AbstractLifeCycle
org.mortbay.jetty.AbstractBuffers
org.mortbay.jetty.client.HttpClient
- All Implemented Interfaces:
- LifeCycle, Buffers
public class HttpClient
- extends AbstractBuffers
Http Client.
HttpClient is the main active component of the client API implementation.
It is the opposite of the Connectors in standard Jetty, in that it listens
for responses rather than requests. Just like the connectors, there is a
blocking socket version and a non-blocking NIO version (implemented as nested classes
selected by setConnectorType(int)
).
The an instance of HttpExchange
is passed to the send(HttpExchange)
method
to send a request. The exchange contains both the headers and content (source) of the request
plus the callbacks to handle responses. A HttpClient can have many exchanges outstanding
and they may be queued on the HttpDestination
waiting for a HttpConnection
,
queued in the HttpConnection
waiting to be transmitted or pipelined on the actual
TCP/IP connection waiting for a response.
The HttpDestination
class is an aggregation of HttpConnection
s for the
same host, port and protocol. A destination may limit the number of connections
open and they provide a pool of open connections that may be reused. Connections may also
be allocated from a destination, so that multiple request sources are not multiplexed
over the same connection.
- Author:
- Greg Wilkins, Matthew Purland, Guillaume Nodet
- See Also:
HttpExchange}
,
HttpDestination}
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CONNECTOR_SOCKET
public static final int CONNECTOR_SOCKET
- See Also:
- Constant Field Values
CONNECTOR_SELECT_CHANNEL
public static final int CONNECTOR_SELECT_CHANNEL
- See Also:
- Constant Field Values
HttpClient
public HttpClient()
send
public void send(HttpExchange exchange)
throws IOException
- Throws:
IOException
getThreadPool
public ThreadPool getThreadPool()
- Returns:
- the threadPool
setThreadPool
public void setThreadPool(ThreadPool threadPool)
- Parameters:
threadPool
- the threadPool to set
getDestination
public HttpDestination getDestination(InetSocketAddress remote,
boolean ssl)
throws UnknownHostException,
IOException
- Throws:
UnknownHostException
IOException
schedule
public void schedule(Timeout.Task task)
cancel
public void cancel(Timeout.Task task)
getUseDirectBuffers
public boolean getUseDirectBuffers()
- Get whether the connector can use direct NIO buffers.
setUseDirectBuffers
public void setUseDirectBuffers(boolean direct)
- Set to use NIO direct buffers.
- Parameters:
direct
- If True (the default), the connector can use NIO direct
buffers. Some JVMs have memory management issues (bugs) with
direct buffers.
getConnectorType
public int getConnectorType()
- Get the type of connector (socket, blocking or select) in use.
setConnectorType
public void setConnectorType(int connectorType)
newBuffer
protected Buffer newBuffer(int size)
- Create a new NIO buffer. If using direct buffers, it will create a direct
NIO buffer, other than an indirect buffer.
- Specified by:
newBuffer
in class AbstractBuffers
getMaxConnectionsPerAddress
public int getMaxConnectionsPerAddress()
setMaxConnectionsPerAddress
public void setMaxConnectionsPerAddress(int maxConnectionsPerAddress)
doStart
protected void doStart()
throws Exception
- Overrides:
doStart
in class AbstractBuffers
- Throws:
Exception
doStop
protected void doStop()
throws Exception
- Overrides:
doStop
in class AbstractLifeCycle
- Throws:
Exception
getIdleTimeout
public long getIdleTimeout()
- Returns:
- the period in milliseconds a
HttpConnection
can be idle for before it is closed.
setIdleTimeout
public void setIdleTimeout(long ms)
- Parameters:
ms
- the period in milliseconds a HttpConnection
can be idle for before it is closed.
getSoTimeout
public int getSoTimeout()
setSoTimeout
public void setSoTimeout(int so)
getTimeout
public long getTimeout()
- Returns:
- the period in ms that an exchange will wait for a response from the server.
setTimeout
public void setTimeout(long ms)
- Parameters:
ms
- the period in ms that an exchange will wait for a response from the server.
Copyright © 2007 Mort Bay Consulting. All Rights Reserved.