On Thu, 2016-03-17 at 17:51 +0100, Joan Balagueró wrote:
> Hello,
> 
> I hope this is the last question ... On our proxy we are reading the response 
> from the backend with a FutureCallback<HttpResponse>. On the complete method, 
> we process the response body in this way:
> 
> public void completed(HttpResponse objResponse) 
> {
>  HttpEntity entity    = null;
>         
>  try
>  {
>  entity                               = objResponse.getEntity();
>  int contentLength            = (int)entity.getContentLength(); 
>  ByteArrayOutputStream baos   = new ByteArrayOutputStream(contentLength > 0 ? 
> contentLength : this.bufferHttpRespuestas);
> 
>  Bis                          = new BufferedInputStream(entity.getContent(), 
> this.bufferHttpRespuestas); 
>  byte[] tmp                   = new byte[this.bufferHttpRespuestas];
>  int numBytesRead;
>  
>  while ((numBytesRead = bis.read(tmp)) >= 0) baos.write(tmp, 0, numBytesRead);
>  ( . . .)
> 
> 
> The response is read from the inputstream contained in 'objHttpResponse', 
> this response is already read so no network calls here (we read locally from 
> the ' objResponse' object).
> Reading the body in this way, am I storing this body twice, one in the ' 
> objResponse' and another in the 'baos' variable?
> 
> In the link to the benchmark you sent me, a HttpAsyncResponseConsumer is 
> used, so the content is processed in chunks on the  consumeContent method 
> (and I understand that the 'responseReceived' method is called once the 
> headers have been processed).
> 
> So the point is: is one of these methods better taking into account that my 
> responses can be really large and I always need to store them in memory for 
> further processing?
>  

HttpAsyncRequestProducer and HttpAsyncResponseConsumer is the only
resource efficient way to transmit large messages with HttpAsyncClient.

Oleg


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

Reply via email to