|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.mortbay.component.AbstractLifeCycle
org.mortbay.jetty.AbstractBuffers
org.mortbay.jetty.client.HttpClient
public class HttpClient
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 bysetConnectorType(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.
HttpExchange}
,
HttpDestination}
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.mortbay.component.LifeCycle |
---|
LifeCycle.Listener |
Field Summary | |
---|---|
static int |
CONNECTOR_SELECT_CHANNEL
|
static int |
CONNECTOR_SOCKET
|
Fields inherited from class org.mortbay.jetty.AbstractBuffers |
---|
_loss |
Fields inherited from class org.mortbay.component.AbstractLifeCycle |
---|
_listeners |
Constructor Summary | |
---|---|
HttpClient()
|
Method Summary | |
---|---|
void |
cancel(Timeout.Task task)
|
protected void |
doStart()
|
protected void |
doStop()
|
void |
dump()
|
int |
getConnectorType()
Get the type of connector (socket, blocking or select) in use. |
HttpDestination |
getDestination(Address remote,
boolean ssl)
|
long |
getIdleTimeout()
|
java.lang.String |
getKeyStoreLocation()
|
protected javax.net.ssl.SSLContext |
getLooseSSLContext()
|
int |
getMaxConnectionsPerAddress()
|
java.util.Set<java.lang.String> |
getNoProxy()
|
Address |
getProxy()
|
Authorization |
getProxyAuthentication()
|
RealmResolver |
getRealmResolver()
returns the SecurityRealmResolver registered with the HttpClient or null |
java.util.LinkedList<java.lang.String> |
getRegisteredListeners()
|
int |
getSoTimeout()
|
protected javax.net.ssl.SSLContext |
getSSLContext()
if a keystore location has been provided then client will attempt to use it as the keystore, otherwise we simply ignore certificates and run with a loose ssl context. |
protected javax.net.ssl.SSLContext |
getStrictSSLContext()
|
ThreadPool |
getThreadPool()
|
long |
getTimeout()
|
java.lang.String |
getTrustStoreLocation()
|
boolean |
getUseDirectBuffers()
Get whether the connector can use direct NIO buffers. |
boolean |
hasRealms()
|
boolean |
isProxied()
|
int |
maxRetries()
|
protected Buffer |
newBuffer(int size)
Create a new NIO buffer. |
void |
registerListener(java.lang.String listenerClass)
Registers a listener that can listen to the stream of execution between the client and the server and influence events. |
void |
schedule(Timeout.Task task)
|
void |
send(HttpExchange exchange)
|
void |
setConnectorType(int connectorType)
|
void |
setIdleTimeout(long ms)
|
void |
setKeyManagerPassword(java.lang.String _keyManagerPassword)
|
void |
setKeyStoreLocation(java.lang.String keyStoreLocation)
|
void |
setKeyStorePassword(java.lang.String _keyStorePassword)
|
void |
setMaxConnectionsPerAddress(int maxConnectionsPerAddress)
|
void |
setMaxRetries(int retries)
|
void |
setNoProxy(java.util.Set<java.lang.String> noProxyAddresses)
|
void |
setProxy(Address proxy)
|
void |
setProxyAuthentication(Authorization authentication)
|
void |
setRealmResolver(RealmResolver resolver)
|
void |
setSoTimeout(int so)
|
void |
setThreadPool(ThreadPool threadPool)
|
void |
setTimeout(long ms)
|
void |
setTrustStoreLocation(java.lang.String trustStoreLocation)
|
void |
setTrustStorePassword(java.lang.String _trustStorePassword)
|
void |
setUseDirectBuffers(boolean direct)
Set to use NIO direct buffers. |
Methods inherited from class org.mortbay.jetty.AbstractBuffers |
---|
getBuffer, getHeaderBufferSize, getRequestBufferSize, getResponseBufferSize, returnBuffer, setHeaderBufferSize, setRequestBufferSize, setResponseBufferSize |
Methods inherited from class org.mortbay.component.AbstractLifeCycle |
---|
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int CONNECTOR_SOCKET
public static final int CONNECTOR_SELECT_CHANNEL
Constructor Detail |
---|
public HttpClient()
Method Detail |
---|
public void dump() throws java.io.IOException
java.io.IOException
public void send(HttpExchange exchange) throws java.io.IOException
java.io.IOException
public ThreadPool getThreadPool()
public void setThreadPool(ThreadPool threadPool)
threadPool
- the threadPool to setpublic HttpDestination getDestination(Address remote, boolean ssl) throws java.net.UnknownHostException, java.io.IOException
java.net.UnknownHostException
java.io.IOException
public void schedule(Timeout.Task task)
public void cancel(Timeout.Task task)
public boolean getUseDirectBuffers()
public void setRealmResolver(RealmResolver resolver)
public RealmResolver getRealmResolver()
public boolean hasRealms()
public void registerListener(java.lang.String listenerClass)
listenerClass
- public java.util.LinkedList<java.lang.String> getRegisteredListeners()
public void setUseDirectBuffers(boolean direct)
direct
- If True (the default), the connector can use NIO direct
buffers. Some JVMs have memory management issues (bugs) with
direct buffers.public int getConnectorType()
public void setConnectorType(int connectorType)
protected Buffer newBuffer(int size)
newBuffer
in class AbstractBuffers
public int getMaxConnectionsPerAddress()
public void setMaxConnectionsPerAddress(int maxConnectionsPerAddress)
protected void doStart() throws java.lang.Exception
doStart
in class AbstractBuffers
java.lang.Exception
protected void doStop() throws java.lang.Exception
doStop
in class AbstractLifeCycle
java.lang.Exception
protected javax.net.ssl.SSLContext getSSLContext() throws java.io.IOException
java.io.IOException
protected javax.net.ssl.SSLContext getStrictSSLContext() throws java.io.IOException
java.io.IOException
protected javax.net.ssl.SSLContext getLooseSSLContext() throws java.io.IOException
java.io.IOException
public long getIdleTimeout()
HttpConnection
can be idle for before it is closed.public void setIdleTimeout(long ms)
ms
- the period in milliseconds a HttpConnection
can be idle for before it is closed.public int getSoTimeout()
public void setSoTimeout(int so)
public long getTimeout()
public void setTimeout(long ms)
ms
- the period in ms that an exchange will wait for a response from the server.public Address getProxy()
public void setProxy(Address proxy)
public Authorization getProxyAuthentication()
public void setProxyAuthentication(Authorization authentication)
public boolean isProxied()
public java.util.Set<java.lang.String> getNoProxy()
public void setNoProxy(java.util.Set<java.lang.String> noProxyAddresses)
public int maxRetries()
public void setMaxRetries(int retries)
public java.lang.String getTrustStoreLocation()
public void setTrustStoreLocation(java.lang.String trustStoreLocation)
public java.lang.String getKeyStoreLocation()
public void setKeyStoreLocation(java.lang.String keyStoreLocation)
public void setKeyStorePassword(java.lang.String _keyStorePassword)
public void setKeyManagerPassword(java.lang.String _keyManagerPassword)
public void setTrustStorePassword(java.lang.String _trustStorePassword)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |