You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Makundi (JIRA)" <ji...@apache.org> on 2008/11/02 08:15:44 UTC

[jira] Commented: (WICKET-1910) ServletWebRequest.isAjax Should be cached

    [ https://issues.apache.org/jira/browse/WICKET-1910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12644564#action_12644564 ] 

Martin Makundi commented on WICKET-1910:
----------------------------------------

looks good, please create a jira issue.

-igor



> ServletWebRequest.isAjax Should be cached
> -----------------------------------------
>
>                 Key: WICKET-1910
>                 URL: https://issues.apache.org/jira/browse/WICKET-1910
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 1.4-M3
>         Environment: Any
>            Reporter: Martin Makundi
>            Priority: Minor
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> I was profiling my Wicket application and noticed that Jetty's
> getHeader method was hit quite often.
> It turns out the ServletWebRequest.isAjax method is hit quite often by
> each of the page elements (I am generating a large HTML report page).
> Since the Servlet container may not have optimal design for processing
> the getHeader method, I wonder if the ServletWebRequest.isAjax -method
> could/should be cached within wicket.
> I made the following modification to the ServletWebRequest.isAjax
> method, and measured a notable increase in performance:
>  public boolean isAjax() {
>    if (ajax == null) {
>      ajax = false;
>      String ajaxHeader = httpServletRequest.getHeader("Wicket-Ajax");
>      if (Strings.isEmpty(ajaxHeader) == false)
>      {
>        try
>        {
>          ajax = Strings.isTrue(ajaxHeader);
>        }
>        catch (StringValueConversionException e)
>        {
>          // We are not interested in this exception but we log it anyway
>          log.debug("Couldn't convert the Wicket-Ajax header: " + ajaxHeader);
>        }
>      }
>    }
>    return ajax;
>  }
> However, my question remains: is this a valid optimization or does it
> break the Wicket framework? Should it somehow be incorporated in the
> next releases?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.