Uploaded image for project: 'Arquillian'
  1. Arquillian
  2. ARQ-2042

Bridge methods treated as observer methods in JDK8

    XMLWordPrintable

Details

    Description

      The Java Compiler was changed with regards to synthetic methods and Annotations.

      Before, annotations on parameters of the original generic methods were NOT copied on to the synthetic bridge method.

      Now, the original annotation is present in 2 places: the generic method (with the actual type replaced in place of the type parameter) and the synthetic method.

      When it comes to the @Observes annotation, Arquillian will try to call the synthetic method (which receives Object) with any kind of event, leading to a ClassCastException (because the bridge method does an implicit cast to the actual type and calls the real generic method)

      The commit makes Arquillian ignore synthetic methods when searching for potential event listeners.

      Discussion:
      http://discuss.arquillian.org/t/moving-from-persistence-impl-to-persistence-dbunit-with-openejb-embedded-4/294/7

      See following bugs for details:

      Attachments

        Activity

          People

            bartosz-1 Bartosz Majsak (Inactive)
            bartosz-1 Bartosz Majsak (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: