You are viewing a plain text version of this content. The canonical link for it is here.
Posted to httpclient-users@hc.apache.org by Thomas Van de Velde <th...@gmail.com> on 2011/11/03 00:58:56 UTC
RFC5861 not working
Hi,
I am trying to make RFC5861-style background validation work in my client
and it does not seem to work. Did I miss something in the client code or
server headers (see below)?
Thanks!
Thomas
ThreadSafeClientConnManager cm = new ThreadSafeClientConnManager();
cm.setMaxTotal(1000);
cm.setDefaultMaxPerRoute(100);
HttpClient httpClient = new DefaultHttpClient(cm);
CacheConfig cacheConfig = new CacheConfig();
cacheConfig.setMaxObjectSizeBytes(1000000);
cacheConfig.setRevalidationQueueSize(1000);
cacheConfig.setAsynchronousWorkersCore(100);
cacheConfig.setAsynchronousWorkersMax(1000);
cacheConfig.setAsynchronousWorkerIdleLifetimeSecs(100);
cacheConfig.setSharedCache(true);
cachingClient = new CachingHttpClient(httpClient,
new EhcacheHttpCacheStorage(httpCache),
cacheConfig);
HttpGet httpget = new HttpGet(uri);
try {
HttpResponse response = cachingClient
.execute(httpget, localContext);
HttpEntity entity = response.getEntity();
entity.getContent();
EntityUtils.consume(entity);
} catch (Exception e) {
httpget.abort();
}
DEBUG: org.apache.http.wire - >> "GET /repository/details HTTP/1.1[\r][\n]"
DEBUG: org.apache.http.wire - >> "Via: 1.1 localhost
(Apache-HttpClient/4.1.2 (cache))[\r][\n]"
DEBUG: org.apache.http.wire - >> "If-None-Match:
"3-bc1a9339e9de45baefb04f8a66013365"[\r][\n]"
DEBUG: org.apache.http.wire - >> "Host: localhost[\r][\n]"
DEBUG: org.apache.http.wire - >> "Connection: Keep-Alive[\r][\n]"
DEBUG: org.apache.http.wire - >> "User-Agent: Apache-HttpClient/4.1.2 (java
1.5)[\r][\n]"
DEBUG: org.apache.http.wire - >> "[\r][\n]"
DEBUG: org.apache.http.wire - << "HTTP/1.1 304 Not Modified[\r][\n]"
DEBUG: org.apache.http.wire - << "Date: Wed, 02 Nov 2011 23:53:15
GMT[\r][\n]"
DEBUG: org.apache.http.wire - << "Connection: Keep-Alive[\r][\n]"
DEBUG: org.apache.http.wire - << "Keep-Alive: timeout=5, max=79[\r][\n]"
DEBUG: org.apache.http.wire - << "Etag:
"3-bc1a9339e9de45baefb04f8a66013365"[\r][\n]"
DEBUG: org.apache.http.wire - << "Cache-Control: public,
stale-if-error=43200[\r][\n]"
DEBUG: org.apache.http.wire - << "[\r][\n]"
Re: RFC5861 not working
Posted by Jon Moore <jo...@apache.org>.
Hi Thomas,
You are probably looking for the stale-while-revalidate directive to
be sent by the server to get asynchronous validation; stale-if-error
just allows the cache to serve a stale data if it receives, e.g., a
503 response on the (synchronous) validation request.
Jon
On Wed, Nov 2, 2011 at 7:58 PM, Thomas Van de Velde
<th...@gmail.com> wrote:
> Hi,
>
> I am trying to make RFC5861-style background validation work in my client
> and it does not seem to work. Did I miss something in the client code or
> server headers (see below)?
>
> Thanks!
>
> Thomas
>
>
> ThreadSafeClientConnManager cm = new ThreadSafeClientConnManager();
> cm.setMaxTotal(1000);
> cm.setDefaultMaxPerRoute(100);
> HttpClient httpClient = new DefaultHttpClient(cm);
> CacheConfig cacheConfig = new CacheConfig();
> cacheConfig.setMaxObjectSizeBytes(1000000);
> cacheConfig.setRevalidationQueueSize(1000);
> cacheConfig.setAsynchronousWorkersCore(100);
> cacheConfig.setAsynchronousWorkersMax(1000);
> cacheConfig.setAsynchronousWorkerIdleLifetimeSecs(100);
> cacheConfig.setSharedCache(true);
> cachingClient = new CachingHttpClient(httpClient,
> new EhcacheHttpCacheStorage(httpCache),
> cacheConfig);
>
> HttpGet httpget = new HttpGet(uri);
>
> try {
> HttpResponse response = cachingClient
> .execute(httpget, localContext);
> HttpEntity entity = response.getEntity();
> entity.getContent();
>
> EntityUtils.consume(entity);
>
> } catch (Exception e) {
> httpget.abort();
> }
>
>
>
> DEBUG: org.apache.http.wire - >> "GET /repository/details HTTP/1.1[\r][\n]"
> DEBUG: org.apache.http.wire - >> "Via: 1.1 localhost
> (Apache-HttpClient/4.1.2 (cache))[\r][\n]"
> DEBUG: org.apache.http.wire - >> "If-None-Match:
> "3-bc1a9339e9de45baefb04f8a66013365"[\r][\n]"
> DEBUG: org.apache.http.wire - >> "Host: localhost[\r][\n]"
> DEBUG: org.apache.http.wire - >> "Connection: Keep-Alive[\r][\n]"
> DEBUG: org.apache.http.wire - >> "User-Agent: Apache-HttpClient/4.1.2 (java
> 1.5)[\r][\n]"
> DEBUG: org.apache.http.wire - >> "[\r][\n]"
> DEBUG: org.apache.http.wire - << "HTTP/1.1 304 Not Modified[\r][\n]"
> DEBUG: org.apache.http.wire - << "Date: Wed, 02 Nov 2011 23:53:15
> GMT[\r][\n]"
> DEBUG: org.apache.http.wire - << "Connection: Keep-Alive[\r][\n]"
> DEBUG: org.apache.http.wire - << "Keep-Alive: timeout=5, max=79[\r][\n]"
> DEBUG: org.apache.http.wire - << "Etag:
> "3-bc1a9339e9de45baefb04f8a66013365"[\r][\n]"
> DEBUG: org.apache.http.wire - << "Cache-Control: public,
> stale-if-error=43200[\r][\n]"
> DEBUG: org.apache.http.wire - << "[\r][\n]"
>
---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org