Add URLTemplateFactory and TemplatedURLFormatter to the request to avoid 
synchronized bottleneck in ServletRequest.
-------------------------------------------------------------------------------------------------------------------

         Key: BEEHIVE-1093
         URL: http://issues.apache.org/jira/browse/BEEHIVE-1093
     Project: Beehive
        Type: Improvement

  Components: NetUI  
    Versions: V1, 1.0.1    
    Reporter: Carlin Rogers
 Assigned to: Carlin Rogers 
     Fix For: v.next


Some containers such as tomcat, implement the ServletContext getAttribute 
method with synchronization on the attribute object or the attributes map. In 
beehive NetUI, the URL template factory and the formatter used for rewriting 
are cached as attributes on the ServletContext. This would be a bottleneck 
under a large load for an app with pages that require lots of URL rewriting 
(I.E. lots of NetUI anchor tags, etc.). For each href or URL that needs to be 
written in a single user request, the URL rewriting gets the ServletContext 
attributes for the template factory and formatter.

To improve performance, the URL template factory and formatter could be set as 
attributes to the request. Then, the URL rewriting could get the template 
factory and formatter from the individual request and minimize the conflict 
with multiple user requests and the synchronization at the ServletContext 
attributes. Note, we still need to cache these objects globally as attributes 
on the context but at the start of processing a page flow request, the objects 
could be pulled from the context and added to the request.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to