myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Blake Sullivan <blake.sulli...@oracle.com>
Subject Re: [Trinidad] add method to get an application scoped concurrentMap to RequestContext (TRINIDAD-926)
Date Tue, 29 Jan 2008 01:48:02 GMT
I'm, of course, in favor.

-- Blake Sullivan

Gabrielle Crawford wrote:
> Hi,
>
> In case anyone filtered away the [jira] message.....
>
> I'd like to add the method described below to the requestContext.
>
> Comments? Objections?
>
> Thanks,
>
> Gab
>
> -------- Original Message --------
>
> add method to get an application scoped concurrentMap to RequestContext
> -----------------------------------------------------------------------
>
>                 Key: TRINIDAD-926
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-926
>             Project: MyFaces Trinidad
>          Issue Type: Improvement
>    Affects Versions: 1.2.5-core, 1.0.5-core
>            Reporter: Gabrielle Crawford
>            Assignee: Gabrielle Crawford
>            Priority: Minor
>
>
> This started with Trin Issue 891 
> https://issues.apache.org/jira/browse/TRINIDAD-891
>
> To avoid the locking in the class loader we'd like to store a map of 
> name->class per app. However the external context app map calls 
> through to the ServletContext. The Servlet specification doesn't 
> specify whether the ServletContext performs any locking on the 
> ServletContext attributes and the ServletContext doesn't expose the 
> necessary methods for efficient concurrent access (essentially the 
> operations exposed on ConcurrentMap) necessary to work efficiently in 
> many cases even if the ServletContext didn't need to perform locking 
> on reads.  The result is that the ExternalContext's ApplicationMap 
> can't implement ConcurrentMap.
> We'd like to add a method to the RequestContext to get an application 
> scoped concurrent map. This would not call through to the servlet 
> context. The api proposed is this:
>
>
> /**
>   * Gets a per application concurrent map. There is no synchronization
>   * with ServletContext attributes.
>   */
>  public abstract ConcurrentMap<String, Object> 
> getApplicationScopedConcurrentMap(); 
>
>


Mime
View raw message