You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Romain Manni-Bucau (JIRA)" <ji...@apache.org> on 2015/04/01 19:01:53 UTC
[jira] [Resolved] (JCS-140) JCacheFilter code logic error
[ https://issues.apache.org/jira/browse/JCS-140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Romain Manni-Bucau resolved JCS-140.
------------------------------------
Resolution: Fixed
Fix Version/s: jcs-2.0-beta-2
> JCacheFilter code logic error
> -----------------------------
>
> Key: JCS-140
> URL: https://issues.apache.org/jira/browse/JCS-140
> Project: Commons JCS
> Issue Type: Bug
> Reporter: liangjiarui
> Assignee: Romain Manni-Bucau
> Fix For: jcs-2.0-beta-2
>
>
> 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)