hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oleg Kalnichevski <ol...@apache.org>
Subject Re: Apache CloseableHttpAsyncClient - way to access HttpContext in a callback method?
Date Fri, 22 Nov 2013 09:13:37 GMT
On Fri, 2013-11-22 at 10:55 +0200, Petteri Hentilä wrote:
> Hello,
> 
> I'm creating my own asynchronous HTTP client with for performance testing
> purposes. I am thinking of using Apache's CloseableHttpAsyncClient for this.
> 
> Here is an example how to use this client:
> http://hc.apache.org/httpcomponents-asyncclient-4.0.x/quickstart.html
> 
> With CloseableHttpAsyncClient there are three callback methods completed(),
> failed() and cancelled(). The completed() -method gets the HttpResponse as
> a parameter and the failed() -method gets the Exception as the parameter.
> 
> However, I would also need an access to the HttpContext object in all of
> these callbacks methods. HttpContext represents execution state of an HTTP
> process. You can for example store any user related objects to HttpContext.
> 
> Basically what I need is to have an access to HttpContext at least in the
> following three different situations: 1. When the Http response is fully
> received 2. When an exception occurs (for example the target host is down)
> 3. When a connection timeout occurs
> 
> Does anyone know a way to achieve this?

There is nothing that prevents you from passing HttpContext instance to
the FutureCallback as a constructor parameter. You might however want to
use a custom HttpAsyncResponseConsumer implementation in order to have a
complete control over the response processing.

As a side note when comes to performance in terms of data throughput you
might be better served by a blocking HTTP client:

http://wiki.apache.org/HttpComponents/HttpClient3vsHttpClient4vsHttpCore

Oleg 


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org


Mime
View raw message