Thanks. I will try your suggestion later. The reason I am using non-blocking HTTP client is that I will use the client in a test where there are lots of concurrent long-polling HTTP connections. In a blocking HTTP client one connection runs in one thread. But in my test there will be hundreds or even thousands of concurrent HTTP connections open so I was thinking that using a non-blocking HTTP client might be a better idea.
On Fri, Nov 22, 2013 at 11:13 AM, Oleg Kalnichevski <[email protected]>wrote: > 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: [email protected] > For additional commands, e-mail: [email protected] > >
