MyFaces Trinidad
  1. MyFaces Trinidad
  2. TRINIDAD-926

add method to get an application scoped concurrentMap to RequestContext

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.0.5-core, 1.2.5-core
    • Fix Version/s: 1.0.6-core, 1.2.6-core
    • Component/s: None
    • Labels:
      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();

        Activity

        Gabrielle Crawford created issue -
        Hide
        Gabrielle Crawford added a comment -

        added api as described

        Show
        Gabrielle Crawford added a comment - added api as described
        Gabrielle Crawford made changes -
        Field Original Value New Value
        Fix Version/s 1.2.6-core [ 12312923 ]
        Resolution Fixed [ 1 ]
        Status Open [ 1 ] Resolved [ 5 ]
        Gabrielle Crawford made changes -
        Fix Version/s 1.0.6-core [ 12312922 ]
        Matthias Weßendorf made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Gabrielle Crawford
            Reporter:
            Gabrielle Crawford
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development