Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-1323

resolved cache in TypeSafeObserverResolver is unbounded

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 1.1.14.Final, 2.0.1.Final
    • 1.1.10.Final
    • None
    • None

    Description

      The cache in TypeSafeObserverResolver, as used by TransactionalObserverNotifier does not have any form of limiting or expiry, which means that it could grow very large and cause an OutOfMemoryError if a large number of distinct qualifier are used.

      Usually the number of qualifiers is finite (and relatively small), but this is not true if an application uses AnnotationLiteral-derived classes with arbitrary data in the annoation. An example of where this occurs is Solder's ServletEventBridgeListener, which emits events with a qualifier annotation containing the URL path and method.

      The cache should have some form of limit or expiry, so that it does not grow arbitrarily large.

      Attachments

        Issue Links

          Activity

            People

              rhn-engineering-jharting Jozef Hartinger
              rhn-support-jlivings James Livingston (Inactive)
              Votes:
              3 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: