You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Juergen Donnerstag (JIRA)" <ji...@apache.org> on 2009/01/22 23:07:59 UTC

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

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

Juergen Donnerstag reopened WICKET-1910:
----------------------------------------


reverted the change. leave for 1.5

> 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
>            Assignee: Juergen Donnerstag
>            Priority: Minor
>             Fix For: 1.4-RC2
>
>         Attachments: profile.png
>
>
> 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.