[ 
https://issues.apache.org/jira/browse/HTTPASYNC-17?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oleg Kalnichevski resolved HTTPASYNC-17.
----------------------------------------

    Resolution: Fixed

@Clinton

It turned out that adding caching support to streaming HTTP exchanges is a 
major problem. Cache operations are inherently synchronous and it is almost 
impossible to make the content stream backed by a caching entry behave 
consistently with that coming directly from a socket channel. It either takes a 
separate thread or the content consumer must be prepared to consume incoming 
message content in one go completely defeating the whole idea of streaming HTTP 
exchanges. For the time being I just made the streaming execute method 
completely bypass the caching layer. In the future we could use NIO2 for file 
based caches but this would require upgrade to Java 7. 

Please review.

@Jon

There is now a lot of duplicated code in HttpClient and HttpAsyncClient caching 
modules. It would be great to have some of it extracted to re-usable classes 
and shared by both modules.

Oleg
                
> org.apache.http.impl.client.cache.CachingHttpClient should have an nio 
> counterpart: CachingHttpAsyncClient 
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: HTTPASYNC-17
>                 URL: https://issues.apache.org/jira/browse/HTTPASYNC-17
>             Project: HttpComponents HttpAsyncClient
>          Issue Type: New Feature
>         Environment: NA
>            Reporter: Clinton Nielsen
>            Priority: Minor
>             Fix For: 4.0-beta2
>
>         Attachments: AsynchronousAsyncValidationRequest.java, 
> AsynchronousAsyncValidator.java, CachingHttpAsyncClient.java
>
>
> org.apache.http.impl.client.cache.CachingHttpClient should have an nio 
> counterpart: CachingHttpAsyncClient.
> Since I needed the functionality for my own project, I went ahead and made 
> the appropriate changes to CachingHttpClient to allow it to decorate an 
> HttpAsyncClient.
> I'm attaching the files here, for consideration for a future release.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to