liangjiarui created JCS-140:
-------------------------------

             Summary: JCacheFilter code logic error
                 Key: JCS-140
                 URL: https://issues.apache.org/jira/browse/JCS-140
             Project: Commons JCS
          Issue Type: Bug
            Reporter: liangjiarui


         final PageKey key = new PageKey(key(servletRequest), gzip);
        Page page = cache.get(key);
        if (page == null)
        {
             ....
        }

        if (page.status == SC_OK) {
            checkResponse(httpServletResponse);

the last line always throw exception for the first time the specified url is 
requested,because the response is commited  in the previous if.

I think the logic of doFilter should be like this:

String key=getKeyFromRequest();
Page page=cache.get(key);
if(page==null){
chain.doFilter();
cache.put(key,response);
}else{
response.write(cache);
}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to