@ManagedObject public abstract class HttpDestination extends ContainerLifeCycle implements Destination, Closeable, Dumpable
AbstractLifeCycle.AbstractLifeCycleListener
Container.InheritedListener, Container.Listener
LifeCycle.Listener
Constructor and Description |
---|
HttpDestination(HttpClient client,
Origin origin) |
addBean, addBean, addBean, addEventListener, addManaged, contains, destroy, doStart, doStop, dump, dump, dump, dumpBeans, dumpObject, dumpStdErr, dumpThis, getBean, getBeans, getBeans, isManaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
protected static final Logger LOG
public HttpDestination(HttpClient client, Origin origin)
protected Queue<HttpExchange> newExchangeQueue(HttpClient client)
protected ClientConnectionFactory newSslClientConnectionFactory(ClientConnectionFactory connectionFactory)
public HttpClient getHttpClient()
public Origin getOrigin()
public Queue<HttpExchange> getHttpExchanges()
public RequestNotifier getRequestNotifier()
public ResponseNotifier getResponseNotifier()
public ProxyConfiguration.Proxy getProxy()
public ClientConnectionFactory getClientConnectionFactory()
@ManagedAttribute(value="The destination scheme", readonly=true) public String getScheme()
getScheme
in interface Destination
@ManagedAttribute(value="The destination host", readonly=true) public String getHost()
getHost
in interface Destination
@ManagedAttribute(value="The destination port", readonly=true) public int getPort()
getPort
in interface Destination
@ManagedAttribute(value="The number of queued requests", readonly=true) public int getQueuedRequestCount()
public Origin.Address getConnectAddress()
public HttpField getHostField()
protected void send(HttpRequest request, List<Response.ResponseListener> listeners)
protected boolean enqueue(Queue<HttpExchange> queue, HttpExchange exchange)
public abstract void send()
public void newConnection(Promise<Connection> promise)
Destination
Connection
that will be returned
at a later time through the given Promise
.
Use FuturePromise
to wait for the connection:
Destination destination = ...; FuturePromise<Connection> futureConnection = new FuturePromise<>(); destination.newConnection(futureConnection); Connection connection = futureConnection.get(5, TimeUnit.SECONDS);
newConnection
in interface Destination
promise
- the promise of a new, unpooled, Connection
protected void createConnection(Promise<Connection> promise)
public boolean remove(HttpExchange exchange)
public void close()
close
in interface Closeable
close
in interface AutoCloseable
public void release(Connection connection)
public void close(Connection connection)
public void abort(Throwable cause)
HttpExchange
s queued in this destination.cause
- the abort causepublic String dump()
dump
in interface Dumpable
dump
in class ContainerLifeCycle
public void dump(Appendable out, String indent) throws IOException
dump
in interface Dumpable
dump
in class ContainerLifeCycle
IOException
public String asString()
Copyright © 1995-2016 Webtide. All Rights Reserved.