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

resolved cache in TypeSafeObserverResolver is unbounded

XMLWordPrintable

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

      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.

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

                Created:
                Updated:
                Resolved: