Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-3200 Struts 2/OGNL/XWork performance
  3. WW-3201

thread contention on OGNL ClassCasheImpl

    XMLWordPrintableJSON

    Details

    • Type: Sub-task
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: Future
    • Component/s: None
    • Labels:
      None

      Description

      OGNL has a custom map implementation(ognl.internal.ClassCacheImpl) where it keeps a cache from Class->Object. In OgnlRuntime, there are several caches that use this implementation and OgnlRuntime synchronizes on it often.

      Suggested solution: replace the internal implementation of a map in ClassCacheImpl by ConcurrentHashMap. Because these caches are mostly readonly, this will reduce thread contention.

        Attachments

          Activity

            People

            • Assignee:
              musachy Musachy Barroso
              Reporter:
              musachy Musachy Barroso
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: