Uploaded image for project: 'MyFaces Trinidad'
  1. MyFaces Trinidad
  2. TRINIDAD-926

add method to get an application scoped concurrentMap to RequestContext

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.0.5-core, 1.2.5-core
    • 1.0.6-core, 1.2.6-core
    • None
    • None

    Description

      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();

      Attachments

        Activity

          People

            gabrielle Gabrielle Crawford
            gabrielle Gabrielle Crawford
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: